我已经设置了一个XIB自定义文件并作为子视图添加到视图控制器,它运行良好。这是我的initWithFrame,我试图在XIB中设置一些属性值,但对象似乎没有在视图上显示。
-(instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if(self) {
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class]) owner:self options:nil];
self.firstName.text = @"John";
self.lastName.text = @"Michel";
self.gender.text = @"Male";
}
return self;
}
我已经检查了调试器并设置了属性标签,因此它正在这方面工作,但在可视化调试器中,标签不会显示。
答案 0 :(得分:0)
当您调用initWithFrame时,它将不会从XIB加载。如果要从XIB加载它。你应该在视图控制器中执行此操作:
MyView *myView = [[NSBundle mainBundle] loadNibNamed:@"MyView" owner:self options:nil];
如果要访问视图控制器中的标签,则应执行以下操作:
myView.firstName.text = @"John";
myView.lastName.text = @"Michel";
myView.gender.text = @"Male";
如果你想在课堂上访问它们。你应该在班上这样做:
- (void)awakeFromNib {
self.firstName.text = @"John";
self.lastName.text = @"Michel";
self.gender.text = @"Male";
}