Ios 只突出显示一个按钮?
我有一张UIButton表:Ios 只突出显示一个按钮?,ios,uibutton,highlight,Ios,Uibutton,Highlight,我有一张UIButton表: UIButton *buttons [16]; 我想做的是,如果按下按钮,只突出显示一个按钮 我在循环中创建、初始化它们: for(int i = 0 ; i < 16 ; i++) { // Initializing the buttons... [self performSelector:@selector(buttonSelected:) withObject:buttons[i] afterDelay:0.0]; } for(int
UIButton *buttons [16];
我想做的是,如果按下按钮,只突出显示一个按钮
我在循环中创建、初始化它们:
for(int i = 0 ; i < 16 ; i++)
{
// Initializing the buttons...
[self performSelector:@selector(buttonSelected:) withObject:buttons[i] afterDelay:0.0];
}
for(int i=0;i<16;i++)
{
//正在初始化按钮。。。
[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;
}];
}
-(void)按钮选择:(UIButton*)发送方{
对于(int i=0;i<16;i++)
{
[[NSOperationQueue mainQueue]添加操作与块:^{
按钮[i]。高亮显示=否;
}];
}
[自我提示:发件人];
}
-(无效)doHighlight:(ui按钮*)b{
[[NSOperationQueue mainQueue]添加操作与块:^{
b、 突出显示=是;
}];
}
但它不起作用,这只会高亮显示最后一个(第16个)按钮,并使其始终高亮显示
我该怎么办?谢谢 编辑您的按钮选择成为:
- (void)buttonSelected:(UIButton*)sender {
for(int i = 0 ; i < 16 ; i++)
{
[[NSOperationQueue mainQueue] addOperationWithBlock:^{
buttons[i].highlighted = NO;
if(sender == buttons[i])[self doHighlight:sender];
}];
}
}
-(void)按钮选择:(UIButton*)发送方{
对于(int i=0;i<16;i++)
{
[[NSOperationQueue mainQueue]添加操作与块:^{
按钮[i]。高亮显示=否;
if(发送方==按钮[i])[自高亮显示:发送方];
}];
}
}
为按钮制作标签。并检查标签是否为20,例如突出显示。