Button, Textfield, ..., 클래스를 작성했습니다. "사용자 정의 클래스"의 스토리 보드에서 클래스를 UIElement로 설정했습니다. 이것은 아주 잘 작동합니다.필요한 초기화? (코더 디자이너 : NSCoder)가 호출되지 않았습니다.
이제 프로그래밍 방식으로 추가 된 도구 모음이 필요했습니다. 내 ViewController에서 툴바를 추가하면 모든 것이 정상입니다. 그러나 나는 이렇게 자신 만의 툴바 클래스를 만들고 싶다. 내의 ViewController에서
class MyOwnToolbar : UIToolbar {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
//never called
self.backgroundColor = UIColor.redColor()
self.tintColor = UIColor.greenColor()
self.barTintColor = UIColor.blueColor()
}
override init(frame: CGRect) {
//error: super.init isn'T called on all paths before returning from initiliazer
}
I는 다음과 같이 호출 할 :
fromToolBar = MyOwnToolBar() //call nothing?
fromToolBar = MyOwnToolBar(frame: CGRectMake(0,0,0,0)) //doesn't work because init(frame: CGRECT) doesnt work
일 내의 ViewController에서
오래된 코드 :
self.untilToolBar = UIToolbar(frame: CGRectMake(0,0,0,0))
untilToolBar?.backgroundColor = redColor
untilToolBar?.tintColor = greenColor
untilToolBar?.barTintColor = blueColor
그래서 나는 내 작업 솔루션을 사용할 수 있지만 내가 원하는 내 코드가 작동하지 않는 이유를 알 수 있습니다. 어쩌면 누군가가 해결책이나 좋은 연결 고리를 가지고있을 수도 있습니다.
을 당신은 awakeFromNib 메소드 –
http://stackoverflow.com/a/29783546/2303865 내부를 사용자 지정해야 –