在UIButton上突出显示多个UIImageView

时间:2015-04-07 15:43:06

标签: ios objective-c cocoa-touch uibutton

基于此:Several images on one UIButton

我可以在UIButton上添加图片,但是我无法在UIButton中显示突出显示的状态UIImageView。

如下设置突出显示的图像:

imageOneOnButton.image = [UIImage imageNamed:@"option-unchecked"];
imageOneOnButton.highlightedImage = [UIImage imageNamed:@"option-checked"];

imageTwoOnButton.image = [UIImage imageNamed:@"option-unchecked"];
imageTwoOnButton.highlightedImage = [UIImage imageNamed:@"option-checked"];

不幸的是它的行动:

sender.highlighted = YES // or NO doesn't work
sender.imageView.highlighted = YES // or NO doesn't work as well

我有什么方法可以模拟这个,

[button setImage:[UIImage imageNamed:@"option-unchecked"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"option-unchecked"] forState:UIControlStateHighlighted];

button.highlighted = YES // or NO <-- works!

使用我的方法?

1 个答案:

答案 0 :(得分:0)

所以你在一个按钮内有两个图像视图?您可能需要子类化您的按钮并覆盖其setHighlighted:setter以在其每个图像视图上调用setHighlighted:。

sender.imageView.highlighted = YES的原因是因为(我假设)这两个imageview都没有与按钮的内置.imageView属性相关联