2011-01-03 11 views
0

私のiPhoneアプリでは、ユーザーの選択に基づいて動的に生成されるボタンの配列があります。iPhone SDKを使用して動的に生成されたボタンを選択する方法...

選択したボタンと他のボタンを区別するにはどうすればよいですか?

私は、ユーザーが他のボタンを選択したときに、以前に選択されたボタンは外見上の通常の状態に戻る必要があります。以前に選択したボタンを元の状態に戻すことはできません。

どうすればいいですか?

助けてください。

答えて

1

ボタンの配列があります。配列をループして、クリックされたものであるかどうかを確認できます。

- (IBAction) buttonClicked:(id)sender { 
    for(int i; i < [array count]; i++){ 
    if((UIButton *)sender == (UIButton *)[array objectAtIndex:i]) 
     //do something 
    else 
     //do something else 
} 

何かがそうです。

+0

ありがとう:) –

0

することができますあなたのサブビューをループし、すべての古いスタイルを設定します。

- (void)highlightImgWithID:(int)packID { 
    [self.view.subviews enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) { 
     if ([obj isKindOfClass:[UIImageView class]]) { 
      [(UIImageView*)obj setHighlighted:([obj tag] == IDtoSelectNext)]; 
     } 
    }]; 
} 

サンプルは、私は現在、あなたがボタンで動作するようにそれを変更することができますUIImageView年代に私のアプリでそれを実装する方法です。

+0

私は別の場所でタグを使用していると言って忘れてしまったので、選択された識別子としてタグを使用できませんでした –

1

は、各ボタンにタグを設定してみてください、次のように

yourButton.tag=intValue; //intValue>0 

を使用すると、あなたのbuttonActionは

-(IBAction)buttonAction:(id)sender 

は、以前に選択したタグを保存し、それに応じて値を変更し、する必要があります。

3

タグを使用してボタンを識別します。 ボタンを作成するときに、ボタンに番号としてタグを割り当て、同じものを使用して識別することができます。

yourButton.tag = intNumber;

関連する問題