导入UIKit并尝试以编程方式切换按钮颜色的初始化位置后,我似乎无法弄清楚为什么在符合WKInterfaceController的类中发生崩溃

import UIKit
import WatchKit

class InterfaceController: WKInterfaceController {

  @IBOutlet fileprivate var myButton : WKInterfaceButton!

  override func willActivate() { // About to be visible to user
    super.willActivate()

    self.myButton.setBackgroundColor(UIColor.red) // CRASH
  }
}

swift - WatchKit设置背景颜色崩溃-LMLPHP

swift - WatchKit设置背景颜色崩溃-LMLPHP

swift - WatchKit设置背景颜色崩溃-LMLPHP

最佳答案

原因是未使用的断点。

无论如何:

使用awake(withContext:)更改UI:



您不能使用willActivate()更改背景颜色等:



还请始终使用weak出口:

  @IBOutlet fileprivate weak var myButton : WKInterfaceButton!

并检查您的插座是否已连接。

09-11 20:21