【问题标题】:UIButton highlighted background image is not showingUIButton 突出显示的背景图像未显示
【发布时间】: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 ?
  • 尝试使用或|喜欢。突出显示 | .选定

标签: ios swift uibutton


【解决方案1】:

尝试将合并的 setBackgroundImage 调用拆分为两个:

myButton.setBackgroundImage(UIImage(named: "selected.png"), forState: [.Highlighted])
myButton.setBackgroundImage(UIImage(named: "selected.png"), forState: [.Selected])

【讨论】:

  • 这行得通,但我不明白为什么相同的语法适用于 Storyboard 中创建的 UIButtons
  • @Ivan 你是什么意思相同的语法适用于情节提要?我认为情节提要拆分了不同的状态(突出显示和选中)。
猜你喜欢
  • 2016-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多