2010-11-20 7 views
0

メインビュー(btn_easy、btn_medium、btn_hard)にxCode Interface Builder Library - Round Rect Buttonアイテムを使用してメインビューにドラッグした3つのボタンがあります。そのような私の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; 

私はその後、btn_easyをクリックして「ファイルの所有者」にInterface Builderでbtn_mediumを接続アウトレットを作るために進め、btn_hard(順番に)私のビューでは、接続インスペクターに移動し、 "新しい参照アウトレット"を "ファイルの所有者"(私はここで何をすべきだったか分からない)をドラッグします。次のように

ボタンが私のViewController.mファイルで動作させるために私の方法は次のとおりです。

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

私の問題は、私が実際に見る必要があるとき、私は私のNSLogで何も表示されないボタンのいずれかをクリックしたときに " btn_easyがクリックされたときなど、ボタンクリック= btn_easyとなります。

助けてください..... あなたは混乱してアウトレットとアクションをしたあなたに

答えて

2

をありがとう、私は思います。あなたが定義したアウトレットは、あるクラスに別のクラスへの外部接続を与えます。アクションとは、コントロールがトリガーできるものです。

あなたはとしてあなたの.hにのbuttonPressedを追加する必要があります:Interface Builderのアクションとしてそれを認識させるには

- (IBAction)buttonPressed:(id)sender; 

。次に、ボタンからクラスへのリンク(ファイル所有者のように見える)をコントロールからドラッグし、2つ上に接続することができます。あなたは3回したいと思うでしょう。

これは、リンクを「タッチアップ内部」からクラスにドラッグすることと同じです。これは、ボタンがiOSで有効になることです。

+0

ボタンをクリックするとコンソールにアクション(NSLogアラート)がスローされますが、「buttoneded = btn_easy」と他の2つのスクロールを期待していましたが、実際には次のように表示されます: "button clicked = > " – sadmicrowave

+0

クリックしたボタンの名前を取得するにはどうすればよいですか?簡単、中、またはハードのいずれかがクリックされたかどうかによって3つの別々のアクションが発生するIF文を作成できますか? – sadmicrowave

+0

また、.mファイルで使用する前に.hファイルで宣言する方法と方法を知る方法を教えてください。 – sadmicrowave

関連する問題