꾸준히 안타치기
ButtonUI 코드로 만들때 배경이미지 안보임 본문
문제) 분명히 버튼에 배경이 이미지를 넣었는데 버튼에 넣은 배경이미지가 보이지 않았다...
self.setBackgroundImage(UIImage(named: "button-bg"), for: .normal)
self.setTitle("버튼", for: .normal)
스토리보드로 추가한 버튼 속성을 클래스안에서 코드로 설정을 해주었는데,
인터페이스빌더 안에서도 설정을 바꿔줘야 배경이미지가 적용된다고한다. ^^ 가만안둬 애플
public class CSLogButton: UIButton {
// 로그 출력 타입
public var logType: CSLogType = .basic // 기본값은 베이직
public required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
//버튼에 스타일 적용?? 이미지 적용안됨???***************************************왜안보임?
self.setBackgroundImage(UIImage(named: "button-bg"), for: .normal)
self.setTitle("버튼", for: .normal)
self.tintColor = .blue
//버튼의 클릭 이벤트에 logging 메소드를 연결
self.addTarget(self, action: #selector(logging(_:)), for: .touchUpInside)
}
@objc func logging(_ sender: UIButton){
switch self.logType {
case .basic : // 단순히 로그만 출력함
NSLog("버튼이 클릭되었습니다.")
case .title : // 단순히 로그만 출력함
let btnTitle = sender.titleLabel?.text ?? "타이틀 없는"
NSLog("\(btnTitle)버튼이 클릭되었습니다.")
case .tag: // 로그에 버튼의 태그를 출력함
NSLog("\(sender.tag)버튼이 클릭되었습니다.")
}
}
}
해결 ) 스토리 보드에가서 배경이미지를 넣고자 하는 버튼을 선택하고, Style을 Defalut로 바꿔준다.
버튼 배경이미지가 잘적용되었다.
https://developer.apple.com/forums/thread/693933