2010-11-20 48 views
0

我在我的主視圖(btn_easy,btn_medium,btn_hard)上有3個按鈕,我通過xCode界面生成器庫 - Round Rect Button項將其拖到我的主視圖上。宣佈他們在我的ViewController.h和ViewController.m文件,像這樣經過:objective-c多個按鈕單擊方法

//ViewController.h 
IBOutlet UIButton *btn_easy; 
IBOutlet UIButton *btn_medium; 
IBOutlet UIButton *btn_hard; 

@property(nonatomic,retain) IBOutlet UIButton *btn_easy; 
@property(nonatomic,retain) IBOutlet UIButton *btn_medium; 
@property(nonatomic,retain) IBOutlet UIButton *btn_hard; 

//ViewController.m 
@synthesize btn_easy,btn_medium,btn_hard; 

然後我接着提出了在Interface Builder中連接插座的「文件的所有者」通過點擊btn_easy,btn_medium,btn_hard(順序)在我的視圖,去連接督察和拖動「新的引用出口」文件的所有者(不知道這是我應該在這裏做的)。

我的方法,才能使按鈕在我ViewController.m文件內容如下:

-(void)buttonPressed: (id) sender{ 
     NSLog(@"button clicked = %@",sender); 
} 

我的問題是,當我點擊任何一處出現任何的按鈕在我的NSLog的時候我實際上應該看「當點擊btn_easy時,按鈕clicked = btn_easy「,等等。

請幫助..... 謝謝

回答

2

你已經糊塗了出口和動作,我想。一個出口 - 就像你所定義的那樣 - 給予一個班級與另一個班級的外部聯繫。行動是控制可以觸發的事情。

您應該添加buttonPressed到您的.h爲:

- (IBAction)buttonPressed:(id)sender; 

要有Interface Builder中認識到它作爲一個動作。然後你可以控制 - 從一個按鈕鏈接到你的班級(這似乎是文件的所有者),並將其連接起來。我猜,你會想要做三次。

這與拖動一個鏈接從'touch up inside'到你的班級,就是當按鈕在iOS上生效時一樣。

+0

確定,使按鈕拋出一個動作(NSLog警報)到控制檯,但我期待它拋出「按鈕clicked = btn_easy」和其他兩個以及但我實際上得到:「button clicked = >「 – sadmicrowave 2010-11-20 15:25:12

+0

如何獲取點擊的按鈕名稱?那麼我可以爲這三種單獨的操作做一個IF語句,這些操作應該發生,取決於是否輕鬆,中等或難以點擊? – sadmicrowave 2010-11-20 15:26:04

+0

另外,如何在.m文件中使用它之前知道何時以及在.h文件中聲明哪些方法? – sadmicrowave 2010-11-20 16:16:59