我使用此代码
更改viewWillAppear中的按钮图像UIImage *buttonImage = [UIImage imageNamed:[[NSUserDefaults standardUserDefaults] objectForKey:@"button_preference"]];
Button.imageView.image =buttonImage;
但是当它点击它时会恢复到IB中设置的图像。所以我试着添加
[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
答案 0 :(得分:1)
首先
Button.imageView.image =buttonImage;
和
[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
两者都不同,因为第一个是将图像设置为按钮的imageView,第二个是将图像设置为按钮的背景,所以我不确定但问题应该是button.imageView
的图像覆盖还是你的第二个代码有不是图像(我的意思是NULL);
我的意见是设置按钮图像,如
[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
对你来说更好。
答案 1 :(得分:0)
使用UIImage.setImage方法:
[leftButton setImage:buttonImage forState:UIControlStateNormal];
或在Swift中
leftButton.setImage(buttonImage, forState: UIControlState.Normal)