0

当我尝试使用此解决方案更新 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)
}

我怎样才能解决这个问题?

4

2 回答 2

4

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)
}
于 2015-06-11T18:54:34.083 回答
0

在这里,我们可以将 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)
}
于 2015-07-08T01:13:33.383 回答