1

我使用此代码更改 viewWillAppear 中的按钮图像

UIImage *buttonImage = [UIImage imageNamed:[[NSUserDefaults standardUserDefaults] objectForKey:@"button_preference"]];

Button.imageView.image =buttonImage;

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

[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];

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

4

2 回答 2

1

第一的

Button.imageView.image =buttonImage;

[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];

两者都不同,因为第一个将图像设置为按钮的 imageView,第二个将图像设置为按钮的背景,所以我不确定,但问题应该是图像的覆盖button.imageView 或您的第二个代码没有图像(我的意思是 NULL)

我的意见是设置按钮图像,例如

[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];

这对你更好。

于 2013-09-12T04:28:55.923 回答
0

使用 UIImage.setImage 方法:

[leftButton setImage:buttonImage forState:UIControlStateNormal];

或在斯威夫特

leftButton.setImage(buttonImage, forState: UIControlState.Normal)
于 2015-02-26T19:15:09.747 回答