按下时更改图像的 UIButton - 但更改图像时效果不佳
Posted
技术标签:
【中文标题】按下时更改图像的 UIButton - 但更改图像时效果不佳【英文标题】:UIButton with changing images when pressed - but unattractive effect when changing them 【发布时间】:2011-08-09 07:05:28 【问题描述】:我有一个按钮,可以根据我们所处的模式将其图像更改为不同的图像。
图片设置为:[modusBtn setImage:cx forState:UIControlStateNormal];
图片有圆角,按钮类型为“自定义”。
现在按下按钮时,可以在上下边缘背景中看到另一张图像。
真的很奇怪 - 按钮都有圆角 - 但例如当蓝色模式打开并显示蓝色图像并且现在按下蓝色按钮时 - 只能在左两个角看到红色的小边缘。
我已经玩过 IB 中的所有按钮属性设置,但没有运气。
有没有人在更改按钮图像时有过类似的经历?
到目前为止,我所有的按钮图像都是 100% 矩形且没有圆角 - 因此我以前从未经历过这种情况。
非常感谢!
【问题讨论】:
【参考方案1】:为您的按钮使用此 UIButton 的适当性。
avatarButton.clipsToBounds = YES;
【讨论】:
也添加这个属性 -> [button sizeToFit];而且,我想知道你在哪里设置图像(在 xib 中或通过代码)。我想你可以将一张图片设置为背景图片。(对不起,如果我错了,我只是猜测!!!)。祝你好运。 感谢您的想法 - 问题已经解决了 - 但现在按钮太大了。顺便说一句,我现在也只是将完全相同的按钮从另一个工作的 ViewControllerA 复制到了 ViewControllerB 的问题,而且真的很奇怪,它只导致与 ViewControllerB 上的前一个按钮相同的问题。在 ViewControllerA 上一切都很好。我不知道这里发生了什么...... 我现在将代码从 setImage: 更改为 setBackgroundImage - 现在一切正常。非常感谢您的提示!【参考方案2】:每当您为自定义按钮设置图像时,请确保设置
yourButton.backgroundColor=[UIColor clearColor];
当您的按钮在更改状态期间使用默认背景转换时,效果正在发生。
【讨论】:
以上是关于按下时更改图像的 UIButton - 但更改图像时效果不佳的主要内容,如果未能解决你的问题,请参考以下文章
在 UITableView 顶部按下时,UIButton 不会更改其状态