UIButton setImage在不同的状态下设置是否显示
在做斯坦福2013 Iphone应用开发练习时,有个要求是设置UIButton的背景图片。
提示使用setImage:(UIImage *)image forState:
来设置,但是,这么设置之后,
UIButton在selected状态下也将图片显示了出来。
网上搜索了下,说是,如果你设置了UIButton在normal状态下的图片而没有设置其
它状态如selected
或者disabled
等,那么在这些状态下,默认使用的是normal
下的设置,所以当点击UIButton的时候,图片并没有消失。
解决方法是: 1. 先创建一张透明的1像素的图片,使用setImage为将其设为其他状态下的显示图片 可以参考这里
- 判断UIButton所处的状态,将setImage的image设为nil
if (!btn.isSelected && btn.isEnabled) {
[btn setImage: backImage forState:UIControlStateNormal];
} else {
[btn setImage: nil forState:UIControlStateNormal];
}
blog comments powered by Disqus