我有多个按钮阵列,称为按钮。每一个都被标记。如何仅根据标签和标签更改按钮上的图像。截至目前,它只更改了最后一个按钮。
-(void)buttonTapped:(id)sender{
NSLog (@"%i",[sender tag])];
[button setImage:[UIImage imageNamed:@"button_change.png"] forState:UIControlStateNormal];
}
最佳答案
或者:
for (UIButton *btn in button) {
if(btn.tag == 1)
{
// do something
break; // don't need to run the rest of the loop
}
}
如果你想使用数组(它不应该被称为'button',使用带有复数形式的数组)
或更简单的方法:
UIButton *btn = (UIButton *)[self.view viewWithTag:1];
然而,更简单的方法是在回调中使用参数(除非那不是您想要的按钮)。像这样:
-(void)buttonTapped:(id)sender
{
UIButton *tappedBtn = (UIButton *)sender;
[tappedBtn setImage:[UIImage imageNamed:@"button_change.png"] forState:UIControlStateNormal];
}
关于iOS:我用标签设置我的 uibuttons。如何根据标签更改特定按钮图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22152999/