为啥用户点击后按钮图像会恢复?
Posted
技术标签:
【中文标题】为啥用户点击后按钮图像会恢复?【英文标题】:Why does button image revert after user clicks?为什么用户点击后按钮图像会恢复? 【发布时间】:2013-09-12 04:22:19 【问题描述】:我用这段代码在 viewWillAppear 中更改了我的按钮图像
UIImage *buttonImage = [UIImage imageNamed:[[NSUserDefaults standardUserDefaults] objectForKey:@"button_preference"]];
Button.imageView.image =buttonImage;
但是当它点击它时,它会恢复到 IB 中设置的图像。所以我尝试添加
[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
那么图像一开始就没有改变吗?
【问题讨论】:
您可以尝试将Button.imageView.image更改为[Button setBackgroundImage:buttonImage forState:UIControlStateNormal];您可以使用 setBackgroundImage: forState: 方法将图像设置为按钮。 【参考方案1】:第一个
Button.imageView.image =buttonImage;
和
[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
两者都不同,因为第一个将图像设置为按钮的 imageView,第二个将图像设置为按钮的背景,所以我不确定,但问题应该是 button.imageView
的图像覆盖,或者您的第二个代码没有图像(我的意思是 NULL);
我的意见是设置按钮图像,例如
[leftButton setBackgroundImage:buttonImage forState:UIControlStateNormal];
这对你更好。
【讨论】:
好的,所以我从 IB 中删除了图像并将其设为背景图像,并使用代码更改背景图像而不是图像,一切正常。谢谢你【参考方案2】:使用 UIImage.setImage 方法:
[leftButton setImage:buttonImage forState:UIControlStateNormal];
或在 Swift 中
leftButton.setImage(buttonImage, forState: UIControlState.Normal)
【讨论】:
以上是关于为啥用户点击后按钮图像会恢复?的主要内容,如果未能解决你的问题,请参考以下文章