UIViewクラスを継承したクラス(具体的にはUIButtonを継承していました)をStoryBoard上のViewと結びつけたところ、Xcodeによって自動作成されるイニシャライザが呼ばれませんでした。
Xcodeの設定とは「Identity and Type → Name」のことです。
自動作成されたのは以下の様なinitWithFrame
イニシャライザです。
自作のUIView継承クラス.mの一部
- (id) initWithFrame:(CGRect)frame {
//呼ばれない!!
}
調べてみたところStoryBoardで設定するとこのイニシャライザは呼ばれないみたいですね。
呼ばれるのはinitWithCoder
イニシャライザのようです。
そこで以下の様なイニシャライザを追加したところ無事呼ばれていることが確認できました!
自作のUIView継承クラス.mの一部
- (id) initWithCoder:(NSCoder*)coder {
self = [super initWithCoder:coder];
if(self) {
NSLog(@"こっちが呼ばれる??");
}
return self;
}