我有一个习惯UIView
(MyCustomUIView
)这是使用 Interface Builder 构建的。我想将此自定义视图放置在MyViewController
的视图,也是使用IB设计的。我已经放置了一个UIView
作为子视图MyViewController
的 XIB 并将其类别设置为MyCustomUIView
。问题是,当我运行代码时,只出现一个空白视图。 (当我实例化MyCustomUIView
在代码中,它显示得很好。)
我只是覆盖initWithFrame:
方法如下MyCustomUIView.m
:
- (id)initWithFrame:(CGRect)frame
{
[[NSBundle mainBundle] loadNibNamed:@"MyCustomUIView" owner:self options:nil];
self = self.view;
return self;
}
我应该怎么做才能正确加载视图?应该怎样initWithCoder:
看起来像?
你是对的。 IB 使用 initWithCoder。 initWithCoder 应该看起来与其他 init 方法非常相似:
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
// CUSTOM INITIALIZATION HERE
}
return self;
}
一旦你在 IB 中分配了你的类,你就不需要从包中实例化它,除非我误解了你的意图。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)