我有一张 UIButton 表:
UIButton *buttons [16];
我想要做的是在按下按钮时只突出显示一个按钮。
我在循环中创建、初始化它们:
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 个)按钮并使其始终突出显示。
我应该怎么办?谢谢。