Dan*_*iel 7 xib uiview nib ios initwithcoder
我有一个使用Interface Builder构建的custom UIView(MyCustomUIView).我想将这个自定义视图放在MyViewController视图中,该视图也是使用IB设计的.我在一个XIB中放置了UIView一个子视图MyViewController并将其设置为MyCustomUIView.问题是,当我运行代码时,只显示一个空白视图.(当我MyCustomUIView在代码中实例化时,它显示得很好.)
我只是initWithFrame:按以下方式覆盖该方法MyCustomUIView.m:
- (id)initWithFrame:(CGRect)frame
{
[[NSBundle mainBundle] loadNibNamed:@"MyCustomUIView" owner:self options:nil];
self = self.view;
return self;
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使视图正确加载?应该initWithCoder:怎么样?
你是对的。IB 使用 initWithCoder。initWithCoder 应该看起来与其他 init 方法非常相似:
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
// CUSTOM INITIALIZATION HERE
}
return self;
}
Run Code Online (Sandbox Code Playgroud)
一旦你在 IB 中分配了你的类,你就不需要从包中实例化它,除非我误解了你的意图。
| 归档时间: |
|
| 查看次数: |
12341 次 |
| 最近记录: |