2010-08-05 55 views
2

我有一個帶有工具欄的xib,並且我有2個按鈕都是在IB中製作的。 我可以將我的插座連接到按鈕,但是當我點擊它們時,該方法不會被觸發? 這是爲什麼?如何用UIButtonBarItem觸發方法?

在我的頭文件我有這樣的:

@property (nonatomic, retain) IBOutlet UIBarButtonItem *cancelEntry; 
@property (nonatomic, retain) IBOutlet UIBarButtonItem *saveEntry; 

-(IBAction) cancelEntry:(id) sender; 
-(IBAction) saveEntry:(id) sender; 

在我得到這個我.m文件:

-(IBAction) cancelEntry:(id) sender { 
NSLog(@"cancel"); 
} 

-(IBAction) saveEntry:(id) sender { 
NSLog(@"save"); 
} 

所有編譯,因爲它應該,但點擊按鈕時,在日誌中什麼都沒有。 我該怎麼做才能使它工作?

回答

4

聽起來像你連接你的插座到按鈕,但沒有將按鈕連接到操作。

  1. 右鍵單擊取消Interface Builder中的UIBarButtonItem
  2. 將鼠標懸停在選擇器上,然後將出現的+拖動到文件所有者上。
  3. 將它連接到cancelEntry :.
  4. 重複保存。

而不是使用(id)爲您的IBActions,你應該使用(UIBarButtonItem *)。這會阻止您將不同的對象類型連接到這些IBActions。

+0

謝謝你tweha!即使我自己解決了它,你的答案是正確的,我沒有做的。 – 2010-08-07 07:41:35