joh*_*doe 16 cocoa-touch uiviewcontroller uikit uiview ios
我UIView
在界面构建器上有一个.在我的视图控制器中,我有一个IBOutlet MyUIView
指向UIView
界面构建器.
我将类更改UIView
为" MyUIView
"(自定义UIView类),但似乎没有init
触发子类的任何方法.
我究竟做错了什么?
Ano*_*dya 27
而不是init
你需要先调用initWithCoder
然后调用init
为:
- (id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
[self baseClassInit];
}
return self;
}
- (void)baseClassInit {
//initialize all ivars and properties
}
Run Code Online (Sandbox Code Playgroud)
Aar*_*ger 22
简短的回答:你需要使用initWithCoder:
.
来自initWithFrame:
文档:
如果使用Interface Builder设计接口,则随后从nib文件加载视图对象时不会调用此方法.重构nib文件中的对象,然后使用其initWithCoder:方法进行初始化,该方法修改视图的属性以匹配存储在nib文件中的属性.
如果您使用的是nib/xib/Storyboard文件,请使用initWithCoder:
.如果您以编程方式创建视图,则可以使用init
或initWithFrame:
.
归档时间: |
|
查看次数: |
6554 次 |
最近记录: |