2015-11-07 49 views
0

我已經設置了一個XIB自定義文件,並作爲子視圖添加到視圖控制器中,它運行良好。這裏是我的initWithFrame,我試圖在XIB中設置一些屬性值,但對象似乎並沒有顯示在視圖中。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; 
} 

我已經在調試器中檢查和屬性標籤設置成它的工作在這一方面,但是在可視化調試器標籤只是不顯示。

visual

回答

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"; 
}