UIButton のテーブルがあります:
UIButton *buttons [16];
私がやりたいことは、ボタンが押された場合に 1 つのボタンだけを強調表示したままにすることです。
私は作成し、ループでそれらを初期化します:
for(int i = 0 ; i < 16 ; i++)
{
// Initializing the buttons...
[self performSelector:@selector(buttonSelected:) withObject:buttons[i] afterDelay:0.0];
}
それで :
- (void)buttonSelected:(UIButton*)sender {
for(int i = 0 ; i < 16 ; i++)
{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
buttons[i].highlighted = NO;
}];
}
[self doHighlight:sender];
}
- (void)doHighlight:(UIButton*)b {
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
b.highlighted = YES;
}];
}
しかし、これは機能しません。これは最後の (16 番目の) ボタンのみを強調表示し、常に強調表示したままにします。
私は何をすべきか?ありがとう。