为什么按钮图像会在用户点击后恢复?

时间:2013-09-12 04:22:20

标签: ios objective-c uibutton uiimage

我使用此代码

更改viewWillAppear中的按钮图像
UIImage *buttonImage = [UIImage imageNamed:[[NSUserDefaults standardUserDefaults] objectForKey:@"button_preference"]];

Button.imageView.image =buttonImage;

但是当它点击它时会恢复到IB中设置的图像。所以我试着添加

[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];

那么,图像首先不会改变吗?

2 个答案:

答案 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)