board[i] 是我以编程方式创建的 UIButton 数组,我无法为 UIControlStateHighlighted 更改它们的图像:
[board[i] setImage:[UIImage imageNamed:@"block"] forState:UIControlStateNormal];
[board[i] setImage:[UIImage imageNamed:@"blockPressed"] forState:UIControlStateHighlighted];
当我在模拟器中用鼠标按下按钮时,图像没有改变。我认为这是一个非常菜鸟的问题,但我不知道代码不起作用。
最佳答案
以编程方式添加按钮时执行此操作:
添加每个相同的目标。
提供从 0 到计数的所有按钮的标签。
将 UserInteraction 设置为 true
setBackgroundImage:[UIImage imageNamed:@"blockPressed.png"] forState:UIControlStateHighlighted 如果你想让按钮高亮
现在按下按钮,对所有按钮调用相同的方法:例如
-(void)ButtonTouched:(id)sender
{
UIButton *btntouched = sender;
NSLog(@"%@", btntouched);
[btntouched setBackgroundImage:[UIImage imageNamed:@"blockPressed.png"] forState:UIControlStateHighlighted];// it can be forState:UIControlStateNormal also
}
关于ios - 为 UIControlStateHighlighted 设置 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053042/