我創建了XIB
。InitWithCoder從來沒有要求可可基於NSView的類
我創建了這個類,名爲MyCustomView
,並將其分配給XIB
的文件所有者。
- (instancetype)initWithCoder:(NSCoder *)aDecoder{
self = [super initWithCoder:aDecoder];
if (self) [self load];
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) [self load];
return self;
}
- (void)load {
NSArray* topLevelObjects;
[[NSBundle mainBundle] loadNibNamed:@"MyCustomView"
owner:self
topLevelObjects:&topLevelObjects];
NSView* view;
for (id aView in topLevelObjects) {
if ([umaVista isKindOfClass:[NSView class]]) {
view = umaVista;
break;
}
}
[self addSubview:view];
view.frame = self.bounds;
}
我在主應用上創建了一個NSView
。
我將該視圖更改爲MyCustomView
。
我運行該應用程序。 MyCustomView
的initWithCoder
不運行。 initWithFrame
不運行。 awakeFromNib
不運行。
沒有任何反應。
任何想法?
你的意思是「將它分配給XIB的第一響應者」?你不能「分配」任何東西給第一響應者,這是代表動態第一響應者值的代理項目。 –
你是什麼意思?這就是網絡上的所有教程。 – SpaceDog
你的意思是你將它分配給「文件所有者」? –