2012-07-03 21 views
0

如果我這樣做,CheckBox如何不加載任何圖像?它只適用於我從XiB文件中設置它們。我可以從Xib做到這一點,但如果我需要更復雜的東西來定製,我不知道如何。我怎麼不能覆蓋使用initwithnibname定製的XIB

我在那裏設置了一個斷點,所以我知道這些東西正在被調用。

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { 
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
    if (self) { 

     [tcCheckBox setBackgroundImage:[UIImage imageNamed:@"checkbox-unchecked.png"] forState:UIControlStateNormal]; 

     [tcCheckBox setBackgroundImage:[UIImage imageNamed:@"checkbox-checked.png"] forState:UIControlStateSelected]; 

     [tcCheckBox setBackgroundImage:[UIImage imageNamed:@"checkbox-checked.png"] 
forState:UIControlStateHighlighted]; 

     tcCheckBox.adjustsImageWhenHighlighted=YES; 

     **// Custom initialization** 
    } 
    return self; 
} 
+0

好的我發現我需要把它放到viewDidLoad中,但是這個//自定義初始化意味着什麼? – mskw

+0

對於非UI相關的東西,例如初始化你的類實例變量等。 – Rob

回答

0

這是因爲initWithNibName:bundle:不會實例筆尖馬上只是初始化視圖控制器,讓你所有的IBOutlets仍爲零,在這一點上。覆蓋viewDidLoad用於自定義用戶界面初始化,當該筆尖被實例化並且所有IB連接被解析時,該方法被調用。