UIButton 突出显示的背景图像未显示
Posted
技术标签:
【中文标题】UIButton 突出显示的背景图像未显示【英文标题】:UIButton highlighted background image is not showing 【发布时间】:2016-04-12 22:38:43 【问题描述】:我必须使用多个按钮以编程方式创建布局,我使用以下代码创建按钮:
let myButton = UIButton(type: .Custom)
myButton.frame = CGRectMake(100,100,100,100)
myButton.setTitle("Normal", forState: .Normal)
myButton.setTitle("Selected", forState: [.Selected,.Highlighted])
myButton.setBackgroundImage(UIImage(named: "normal.png"), forState: .Normal)
myButton.setBackgroundImage(UIImage(named: "selected.png"), forState: [.Selected,.Highlighted])
self.view.addSubview(myButton)
一旦按下,标题和图像就不会改变。
如果我引用在 Storyboard 中创建的 UIButton,则相同的代码会起作用。
我还需要设置其他属性吗?
谢谢
【问题讨论】:
当您点击按钮时按钮是否有反应(变为灰色)? 是的。我可以看到状态的变化 您是否尝试删除 .Selected 并仅使用 .Highlighted ? 尝试使用或|喜欢。突出显示 | .选定 【参考方案1】:尝试将合并的 setBackgroundImage
调用拆分为两个:
myButton.setBackgroundImage(UIImage(named: "selected.png"), forState: [.Highlighted])
myButton.setBackgroundImage(UIImage(named: "selected.png"), forState: [.Selected])
【讨论】:
这行得通,但我不明白为什么相同的语法适用于 Storyboard 中创建的 UIButtons @Ivan 你是什么意思相同的语法适用于情节提要?我认为情节提要拆分了不同的状态(突出显示和选中)。以上是关于UIButton 突出显示的背景图像未显示的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UIImage 上像 UIButton 一样在点击时实现突出显示?
针对突出显示的背景设置 UIButton 突出显示的标题文本,从而产生暗淡的文本