2015-04-07 37 views
0

Several images on one UIButton在此基础上突出显示的多的UIImageView上的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! 

用我进场?

+0

所以,你有一个按键内的两个形象的看法?您可能需要对按钮进行子类化,并在其每个图像视图上覆盖它的'setHighlighted:'setter来调用'setHighlighted:'。 'sender.imageView.highlighted = YES'不起作用的原因是(我假设)这两个imageview都不与按钮的内置'.imageView'属性相关联。 – user2320861

+0

@ user2320861我想你是对的。谢谢,会试试看。 – nikolausindra

+0

好的,如果它工作,让我知道,我会张贴它作为您可以接受的答案。 – user2320861

回答

0

所以你有一个按钮内的两个图像视图?你可能需要继承你的按钮并覆盖它的setHighlighted:setter来调用setHighlighted:在它的每个图像视图上。

原因sender.imageView.highlighted = YES不工作是因为(我认为),无论是ImageView的关联的按钮内置的.imageView财产