2013-04-30 37 views
0

的一個子類的成員,我有一個自定義視圖如何訪問的UIView

@interface Slip : UIView{ 

    UIButton *number1; 

} 

@property (nonatomic, assign) IBOutlet UIButton *number1; 
@end 

用筆尖文件時,「滑」是筆尖文件的file's所有者。

我初始化一個視圖控制器的視圖這樣的:

self.slip1 = [[[NSBundle mainBundle]loadNibNamed:@"SlipNib" owner:self options:nil] objectAtIndex:0]; 
[self.slip1 setFrame:CGRectMake(0.0f, 0.0f, 307.0f, 322.0f)]; 
[self.slips addSubview:self.slip1]; 

現在我要訪問

[self.slip1.number1 setSelected:YES]; 

此行拋出異常的滑的成員

*** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<ViewController 0x755e9d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key number1.' 

我怎樣才能訪問成員(number1)。我在ViewController中有12個這樣的視圖,需要單獨訪問它們。任何幫助非常感謝。

回答

3

聽起來好像您還沒有將IBOutlet連接到Interface Builder中的按鈕。您應該右鍵單擊並從「文件所有者」拖動到該按鈕,然後選擇button1。

這是一個與IBOutlet沒有正確鏈接到按鈕相關的問題,因爲筆尖使用KVC。您可能還需要將筆尖的根視圖連接到UIView子類中的IBOutlet。當我連接與IBOutlet中的按鈕

看看我這裏的其他職位,如果你需要關於如何從筆尖

UIView is not showing up in UIScrollView

+0

好像異常加載UIView子類的詳細信息被拋起來。任何人有一個想法爲什麼? – dan 2013-04-30 15:14:38

+0

連接不是在運行時完成的,它在編譯項目之前在.nib文件中完成。當您嘗試訪問未連接的按鈕時,崩潰正在發生,您是否已將IBOutlet連接到筆尖中的按鈕,如上所述?一個好的方法是查看你的'Slip.h'文件到你的IBOutlet屬性聲明的左邊。會有小的薄灰色圓圈,如果連接正確,圓圈將被填滿。如果不是這種情況,那麼你沒有正確連接按鈕 – 2013-04-30 15:22:05

+0

我應該告訴你,我已經刪除了該行,它現在崩潰了self.slip1 = ...行。我不知道爲什麼,這就像一些妖精在我喝咖啡時改變我的代碼。事情是,只要我連接一個IBOutlet與按鈕,我會得到例外,感謝您的幫助。 – dan 2013-04-30 15:23:33