2011-06-27 15 views
0

私は7 UIButtonを表示するforループを持っています。すべて同じメソッドを指すメソッドで(forループ、thats)。UIButtonはイベントを転送し、UIButtonに基づいて値を取得します

の場合、たとえばbutton1をクリックすると、次のビューにはbutton1に属する値が表示されます。 ボタン2をクリックすると、次のビュー(同じビューが再び表示されます)にはbutton2に属する値が表示されます。

どのように作業するかについてのアイデアはありますか?

私はそれに

編集この値を格納するためのクラスとappDelegateあります 私のUIButtonがプログラムによって作成され、私はそれにIBActionをリンクすることはできませんが。私はいくつか私の質問について誤解していると思います。

+0

データをビューに送信し、それに応じてビューを表示する方法をご存知ですか?それとも助けが必要なのでしょうか? – darksky

答えて

1

そのため、ボタンをループしているときに、その時点でボタンにタグ値を入力します。次のような方法を作成してください:

-(IBAction)buttonClicked:(id)sender{ 
    int clickedTag = [sender tag]; 
} 

この中には、クリックされたボタンのタグがあります。そして、あなたはタグに従って行うことができます。

プログラムでボタンを作成している間にタグを設定するだけです。

[button setTag:counter]; // if you are creating the buttons in For loop 

乾杯。

+0

私はUIButtonをプログラムで作成しました。 –

+0

そのために、以下の行を追加することができます。 [button addTarget:自己アクション:@セレクタ(buttonClicked :) forControlEvents:UIControlEventTouchUpInside]; –

0

これらのボタンはおそらく同じ動作をしているようですね。 tagプロパティに対して、各ボタンに異なる値を設定します。アクションは、メッセージを送信したオブジェクトのtagを見ることができます。 sender.tag、どのボタンがタップされたのか把握する。その情報を使用して、次のビューで表示するデータを特定します。

+0

どうすればいいですか? button.tag = i + 1; ? –

0

シンプルです。すべてのボタンのタグ値を設定します。送信者オブジェクトを使用して、ビューに応じて値を表示します。

関連する問題