Interface-Builder でカスタム NSView をセットアップしたいのですが、OSX で動作しません。
ViewController の .xib で、カスタム ビューを追加し、クラスを MyCustomView に設定しました。MyCustomView.h、MyCustomView.m、MyCustomView.xib を作成しました。
MyCustomView.xib では、Class も MyCustomView に設定します。MyCustomView.m では、- (void)awakeFromNib
呼び出されますが、呼び出され- (id)initWithCoder:(NSCoder *)aDecoder
ませ- (id) awakeAfterUsingCoder:(NSCoder*)aDecoder
ん。
私が達成したいのは、ViewController で、追加したビューが MyCustomView.xib で設定したビューで「満たされる」ことです。それを行う最善の方法は何ですか?
編集:私は十分に明確ではなかったと思います...
MyCustomView というカスタム ビューを含む ViewController があります。
このビューのタイプは MyCustomView である必要があります。
MyCustomView.h MyCustomView.m MyCustomView.xib
存在します。私はすでに MyCustomView.xib のファイルの所有者を MyCustomView に設定しており、ViewController の CustomView を MyCustomView に設定していますが、機能しません。
私はそれを行う場合
- (void)awakeFromNib {
NSString* nibName = NSStringFromClass([self class]);
NSArray* topLevelObjects;
[[NSBundle mainBundle] loadNibNamed:nibName
owner:nil
topLevelObjects:&topLevelObjects];
NSView* view = topLevelObjects[0];
[view setFrame:[self bounds]];
[self addSubview:view];
}
MyCustomView ではなく、NSView タイプのビューしか取得できません... ViewController.xib に MyCustomView であることを伝える簡単な方法はありませんか?
EDIT 2:簡単なプロジェクトをアップロードしました
https://dl.dropboxusercontent.com/u/119600/Testproject.zipで、MyCustomView (ViewController ではなく window.xib 内) を使用した単純なプロジェクトを見つけますが、そこにあるボタンは表示されません。 MyCustomView.xib. まさにそれを達成したいのですが、最も簡単で最良の方法は何ですか?