任务很简单:
UPD:任务完成。我们应该使用initWithCoder。从Pizzaiola Gorgonzola引用:当从代码动态创建UIView时,将调用initWithFrame。从.nib文件加载的视图总是使用initWithCoder实例化,编码器负责从.nib文件中读取设置»。感谢问题Subviews not showing up in UIView class。
答案 0 :(得分:2)
如果这些元素不在nib / xib中,您可以在initWithCoder中处理添加/创建它们:
答案 1 :(得分:0)
您可以这样做:
//MYCustomView.h
@interface MYCustomView : UIView
@end
//MYCustomView.m
@implementation MYCustomView
- (void)setup {
// Do custom stuffs here...
}
- (id)init {
self = [super init];
if (self) {
[self setup];
}
return self;
}
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self setup];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self setup];
}
return self;
}
@end