有一个自定义视图,包含类和xib文件。我用它作为
[[NSBundle mainBundle] loadNibNamed:@"myViewNib" owner:self options:nil];
问题是如何继承此自定义视图。
我继承了myViewClass,但后来我无法使用上面的代码创建一个实例。我想我的方法错了。
答案 0 :(得分:2)
一个选项不是在.xib文件中创建MYBaseView
,而是子视图。
这样您就可以轻松地继承MYBaseView
。
如果以编程方式或在Interface Builder中创建视图对象,则代码应该可以正常工作:
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
[self setUp];
}
return self;
}
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
[self setUp];
}
return self;
}
- (void)setUp
{
UIView *view = [[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil] lastObject];
[self addSubview:view];
}
答案 1 :(得分:0)
应该是:
myViewClass *newView = [[NSBundle mainBundle] loadNibNamed:@"myViewNib" owner:self options:nil];