XOutlets在XIB视图中为零

时间:2014-11-12 20:11:40

标签: objective-c xcode interface-builder xib

我有一个UIView子类,它对应的是XIB。我在Interface Builder中设计的UITableViewCell中使用了这个UIView。出列单元格时,我有一个从单元格到自定义视图的正确引用,但自定义视图的IBOutlets是nil

这是一个显示问题的示例项目

https://github.com/JanC/TestXIB

我做错了什么?

欢呼声, 扬

2 个答案:

答案 0 :(得分:0)

我不认为它与UITableViewCell完全相同,将其定义为IBOutlet无法加载所有子视图,因此您必须使用[NSBundle mainBundle] loadNibNamed从捆绑中加载它:@&# 34;"所有者:自];并将其分配给您的项目视图

答案 1 :(得分:0)

现在正确加载。在xib中,我将文件所有者设置为TAItemTitleView,将Class设置为UIView。然后我将xib加载到TAItemTitleView本身

- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        NSString *className = NSStringFromClass([self class]);
        self.view = [[[NSBundle mainBundle] loadNibNamed:className owner:self options:nil] firstObject];
        [self addSubview:self.view];
    }
    return self;
}

https://github.com/JanC/TestXIB/blob/master/TestXIB/Classes/Views/TAItemTitleView.m