2014-03-25 85 views
0

你好使用未聲明的標識符試圖改變我現有的按鈕,背景圖像我得到這個錯誤時的按鈕圖像

Use of undeclared identifier 't1Btn' 

我使用我的.m文件中的代碼是

@synthesize t1Btn; 

- (IBAction)t2Btn:(id)sender { 
    UIImage *greenOut = [UIImage imageNamed:@"Green out button.png"]; 
    [t1Btn setBackgroundImage:greenOut forState:UIControlStateNormal]; 
} 

我.h文件中的代碼是

@interface GroupView : UIViewController <ZBarReaderDelegate> 
{ 
    IBOutlet UIButton *t1Btn; 
} 
@property (nonatomic, retain)IBOutlet UIButton *t1Btn; 


- (IBAction)t1Btn:(id)sender; 

我還在學習對象 - 很抱歉,如果這是一個壞的問題,但我有三編輯尋找答案,我似乎不能找到任何東西。我敢肯定,它只是一些簡單的我失蹤

因此,任何幫助將是巨大的感謝:)

+1

擺脫'@ synthesize'的。擺脫明確的伊娃。然後將該調用更改爲'[self.t1Btn setBackgroundImage ...]'。 – rmaddy

回答

1

刪除括號中的比特:

@interface GroupView : UIViewController <ZBarReaderDelegate> 
{ 
    IBOutlet UIButton *t1Btn; 
} 

因爲你已經定義的按鈕作爲IBOutlet右下方是:

@property (nonatomic, retain) IBOutlet UIButton *t1Btn; 

然後取出呼叫合成:

@synthesize t1Btn; 

最後一定要參考t1Btn自:

UIImage *greenOut = [UIImage imageNamed:@"Green out button.png"]; 
[self.t1Btn setBackgroundImage:greenOut forState:UIControlStateNormal]; 
+0

你沒有提及'@ synthesize'行也應該被刪除。 – rmaddy

+0

直到現在纔看到@synthesize調用。 – Aaron

+0

我知道這是使用綜合等方式做事的老方法。但它不一定是錯的嗎? – ophychius