ios - 为 UIControlStateHighlighted 设置 UIImage

标签 ios uibutton

The images

board[i] 是我以编程方式创建的 UIButton 数组,我无法为 UIControlStateHighlighted 更改它们的图像:

    [board[i] setImage:[UIImage imageNamed:@"block"] forState:UIControlStateNormal];
    [board[i] setImage:[UIImage imageNamed:@"blockPressed"] forState:UIControlStateHighlighted];

当我在模拟器中用鼠标按下按钮时,图像没有改变。我认为这是一个非常菜鸟的问题,但我不知道代码不起作用。

最佳答案

以编程方式添加按钮时执行此操作:

  1. 添加每个相同的目标。

  2. 提供从 0 到计数的所有按钮的标签。

  3. 将 UserInteraction 设置为 true

  4. 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/

相关文章:

objective-c - 对按钮xcode视而不见的函数

ios - 更长时间跟踪用户位置

ios - 静态库无法初始化 mlmodel

iphone - NSMutableArray UIButtons Action ?

ios - swift 3.0 的选择器语法

ios - 如何将图像添加到 ios 中 uicollectionView 单元格的左上角?

ios - Xcode 中两个目标中的 swift 包导致重复符号

ios - swift (RxSwift) : Using generics to link ViewItem and Cell classes

android - ionic 电话应用程序。设置在重启后仍然存在的警报。闹钟响起时打开应用程序

ios - 删除所选 UIButton 中的突出显示