UIButton 选择的图像不起作用

Posted

技术标签:

【中文标题】UIButton 选择的图像不起作用【英文标题】:UIButton selected image not working 【发布时间】:2016-08-11 17:08:39 【问题描述】:

当 UIButton 被选中时,我遇到了问题。代码在 Swift 3 中:

let radioButton = UIButton(type: .system)
radioButton.frame = CGRect(x: 0, y: 0, width: 40, height: 40)
radioButton.setImage(UIImage(named: "buttonUnchecked"), for: .normal)
radioButton.setImage(UIImage(named: "buttonChecked"), for: .selected)
radioButton.setTitle("This is some text.", for: .normal)
radioButton.sizeToFit()

当被radioButton.isSelected = true选中时,不显示图片。

【问题讨论】:

您检查了图像buttonChecked 是否存在且没有错字? 您是否在视图中添加了radioButton? 【参考方案1】:

您可以尝试添加这样的目标

radioButton.addTarget(self, action: "addMethodName", forControlEvents: UIControlEvents.TouchUpInside)

在你改变图像的方法中:

radioButton.setImage(UIImage(named: "buttonUnchecked"), for: .normal)

【讨论】:

是的,如果我不使用“选定”状态,这将是可能的。但我想使用它,因为按钮标签的默认彩色背景。还有一些想法? ;)【参考方案2】:

您可能应该使用自定义按钮类型而不是系统类型。试试这个:

    let radioButton = UIButton(type: .Custom)

而不是

    let radioButton = UIButton(type: .system)

【讨论】:

以上是关于UIButton 选择的图像不起作用的主要内容,如果未能解决你的问题,请参考以下文章

选择的 UIButton 不起作用

UIButton 选择器方法不起作用

UIButton ImageView 内容模式不起作用

UIButton 中图像的缩放类型或 contentMode 不起作用

UITableViewCell 中的 UIButton 在 iOS7 中不起作用

界面生成器 UIButton 自定义背景图像在模拟器/设备上不起作用