我有一个设置故事板放置的UIButton的imageView属性的方法。设定后,它看起来很好。但是,当点击按钮时,其突出显示状态会将imageView的图像属性更改回旧图像。我如何阻止这种情况发生?这是我的方法:
- (void)setThumbButtonPhoto:(UIImage *)image
{
// profilePhoto is an IBOutlet property of class UIButton pointing to the
// UIButton on my storyboard.
// Button image is changed correctly here
profilePhoto.imageView.image = image;
// But then mysteriously changed back to the old image when tapped.
// The following commented out lines I have all tried (one at a time of course)
// and none have solved my problem -->
// [profilePhoto.imageView setHighlightedImage:nil];
// profilePhoto.imageView.highlightedImage = image;
// profilePhoto.adjustsImageWhenHighlighted = NO;
// [profilePhoto setBackgroundImage:image forState:UIControlStateHighlighted];
// [profilePhoto setImage:image forState:UIControlStateNormal];
// [profilePhoto setImage:image forState:UIControlStateHighlighted];
// [profilePhoto setImage:image forState:UIControlStateSelected];
}
答案 0 :(得分:2)
您应该使用此方法在按钮上正确设置图像:
- (void)setImage:(UIImage *)image forState:(UIControlState)state
所以:
[profilePhoto setImage:image forState:UIControlStateNormal];
[profilePhoto setImage:image forState:UIControlStateHighlighted];
答案 1 :(得分:0)
使用UIImageView来保存图像
并放置自定义模式UIButton,没有文字,没有图像,没有背景;在它之下