【问题标题】:How can I fix Nil is not compatible with expected argument type 'UIColor'如何修复 Nil 与预期的参数类型“UIColor”不兼容
【发布时间】:2023-04-07 01:31:01
【问题描述】:

我是新手,正在学习有关 SpriteKit 的教程,但遇到了错误。 Xcode 7 不喜欢我在调用 super.init 时将颜色设置为“nil”:

import Foundation
import SpriteKit

class Card : SKSpriteNode {

required init(coder aDecoder: NSCoder) {
    fatalError("NSCoding not supported")
  }

init(imageNamed: String) {
    let cardTexture = SKTexture(imageNamed: imageNamed)
    super.init(texture: cardTexture, color: nil, size: cardTexture.size())
  }
}

那是教程中的代码,所以它一定在某些时候可以工作,但我使用的是 Swift 2.0,我猜有些地方发生了变化。它需要一个 UIColor 对象,所以我很自然地尝试了一个:

super.init(texture: cardTexture, color: whiteColor(), size: cardTexture.size())

但这只会给我一个“使用未解析的标识符 whiteColor”错误。

我怎样才能做到这一点?

提前致谢。

【问题讨论】:

  • 试试UIColor.whiteColor()。您也许可以只传递.whiteColor(),但前导点是必需的。
  • 你需要使用 UIColor 初始化器 UIColor.whiteColor()

标签: ios swift sprite-kit uicolor


【解决方案1】:

为了解决问题,你应该改变你使用whiteColor()的方式。

init(imageNamed: String) {
        let cardTexture = SKTexture(imageNamed: imageNamed)
        super.init(texture: cardTexture, color: UIColor.whiteColor(), size: cardTexture.size())
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多