如何继承具有.xib文件的自定义视图

时间:2013-10-30 06:46:19

标签: ios class xib

有一个自定义视图,包含类和xib文件。我用它作为

[[NSBundle mainBundle] loadNibNamed:@"myViewNib" owner:self options:nil];

问题是如何继承此自定义视图。

我继承了myViewClass,但后来我无法使用上面的代码创建一个实例。我想我的方法错了。

2 个答案:

答案 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];