使用 Swift 2.0 更新 UIButton 图像
Posted
技术标签:
【中文标题】使用 Swift 2.0 更新 UIButton 图像【英文标题】:Update UIButton image using Swift 2.0 【发布时间】:2015-06-11 17:33:13 【问题描述】:当我尝试使用 this solution 更新 UIButton 图像(Xcode 7 beta 1)时,它给了我这个错误
无法使用“(UIImage?, forState: nil)”类型的参数列表调用“setImage”
代码如下:
if counter % 2 == 0
playButton.setImage(UIImage(named: "pause"), forState: nil)
else if counter % 2 == 1
playButton.setImage(UIImage(named: "play"), forState: nil)
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:forState
参数不能是 nil
- 它必须是 UIControlState
。
在你的情况下,你应该使用UIControlState.Normal
if counter % 2 == 0
playButton.setImage(UIImage(named: "pause"), forState: UIControlState.Normal)
else if counter % 2 == 1
playButton.setImage(UIImage(named: "play"), forState: UIControlState.Normal)
【讨论】:
【参考方案2】:在这里我们可以将 UIControlState.Normal 替换为 .Normal(两者都可以正常工作 最好使用 .Normal,因为这将是快速的速记功能)
if counter % 2 == 0
playButton.setImage(UIImage(named: "pause"), forState: .Normal)
else if counter % 2 == 1
playButton.setImage(UIImage(named: "play"), forState: .Normal)
【讨论】:
以上是关于使用 Swift 2.0 更新 UIButton 图像的主要内容,如果未能解决你的问题,请参考以下文章
如何在 swift 2.0 中翻译我的硬编码字符串? [复制]
Swift - CABasicAnimation 完成时更新 UIButton
Swift:如何从另一个类 X 更新 UILabel:UIButton
使用swift在scrollview内的stackview中更改uibutton中的标题