2011-07-02 6 views
1

ボタンのクラスタを作成したいのですが、このようなループを使用しています。ループ内のボタンを作成し、各ボタンに特定のタグを割り当てる方法

for (int i =0; i< [plistArray count];i++) { 

    editButton = [[UIButton alloc]initWithFrame:CGRectMake(width-10, -3.6, 39, 35)]; 
    [editButton setImage:[UIImage imageNamed:@"DeleteButton.png"] forState:UIControlStateNormal]; 
    [editButton addTarget:self action:@selector(deleteObjectViewImage:) forControlEvents:UIControlEventTouchUpInside]; 
} 

私は機能が割り当てられ、任意のランダムボタンをクリックしたときに私は(シーケンス1,2,3に)最初のボタンをクリックしたときに呼び出さcalled.Itされません。

+0

はあなたが動的に画面上のボタンを追加しますか? – iMOBDEV

答えて

2

は、ここに1つです:

#define ButtonHeight 40 

    #define OffsetBetweenButtons 20 

    #define ButtonHeightPlusOffsetBetweenButtons (ButtonHeight+OffsetBetweenButtons) 

//create 6 buttons from 0,1,2,3,4,5 so totally 6 buttons 
for(int buttonIndex=0;buttonIndex<=5;buttonIndex++){ 

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

    [button addTarget:self 
       action:@selector(aMethod:) 
    forControlEvents:UIControlEventTouchUpInside]; 

    [button setTitle:@"Button" forState:UIControlStateNormal]; 

    [button setImage:[UIImage imageNamed:@"DeleteButton.png"] forState:UIControlStateNormal]; 

    //Set offset in Y axis 
    button.frame = CGRectMake(20.0, ButtonHeightPlusOffsetBetweenButtons * buttonIndex , 280.0, 40.0); 

    //Set Tag for future identification 
    [button setTag:buttonIndex]; 

    [YourView addSubview:button]; 

} 
+2

なぜ私はこの答えをダウン投票したのかを説明する:コードや何かについての説明は何もなかった。これはあなたの答えである。言い換えれば、私はこれがあたかも質問者のためのコードを書くまっすぐな人ではないと思います。また、あなたのユーザーネームとボタンのタイトルを介して自己宣伝が好きではない - 私はあまりにもそれをdownvoted。私の答えと私にご関心をお寄せいただきありがとうござい@nil – nil

+0

は私だけではなく、エキスパート/経験の開発者のためにある流れの上に、ここで \t証券のマクロを使用しなかったあなたの質問 1.whyにお答えしたいと思います。その質問は誰でも訪れることができます。ですから、ここでは、それらのマクロの代わりに60を単に値として入れることができます。 \t \tしかし、どのプログラマも、そのマクロを見ることで理解することができます。 \t \t Objective Cは非常に説明的な言語であり、メソッド名でメソッドの目的を指定します。 –

+0

@nil 2.あなたは私が自己昇進したように指定しました。私はそれを意図していませんでした。あなたがそれを指定したとしても、私はそれを削除しました。答えを編集することもできます。 –

関連する問題