自定义UIVIew与nib子视图nil

时间:2017-01-07 21:12:52

标签: objective-c uiview

我创建了一个带有xib文件的简单自定义UIView,我将xib视图连接到我的类,然后我将我的IBOutles链接到子视图,之后我使用initWithFrame创建视图并将其以编程方式添加到我的父视图

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"AddAlarmView" owner:self options:nil];
        _scrollView = (UIScrollView *)[objects objectAtIndex:0];
        [self addSubview:_scrollView];

    }
    return self;
}

问题是所有的子视图都是零....如果我尝试获取customView.textFeild1它是nil ....为什么?哪里出错?

1 个答案:

答案 0 :(得分:0)

而不是这样你应该尝试从Xib中获取你的UIView对象..

- (id)initWithFrame:(CGRect)frame
{
    NSArray *objects = [[NSBundle mainBundle] loadNibNamed:@"AddAlarmView" owner:self options:nil];
    self = (YourClassName *)[objects objectAtIndex:0];
    self.frame = frame;
    return self;
}

您无需再次添加子视图您的IBOutLets。它们已经是xib文件中View的子视图。 只需加载该xib文件并将其分配给您自己并根据参数更新您的框架。