我创建了一个带有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 ....为什么?哪里出错?
答案 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文件并将其分配给您自己并根据参数更新您的框架。