WatchKit setBackground Color Crash

时间:2017-06-26 19:34:52

标签: swift crash watchkit uicolor

导入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
  }
}

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

原因是未使用的断点。

反正:

使用awake(withContext:)更改用户界面:

  

创建接口控制器时,WatchKit会实例化该类   然后调用它的init()方法   awake(withContext :)方法。使用这些方法进行初始化   变量,加载数据以及配置故事板中的项目   现场。如果WatchKit将有效对象传递给唤醒(withContext :)   方法,使用该对象中的信息来自定义   初始化过程。

您无法使用willActivate()更改背景颜色等:

  

willActivate()方法可让您知道界面的时间   活性。使用willActivate()方法执行任何最后一分钟   任务,例如检查内容的更新。 (不要使用它   主要用于初始化。)

也始终使用weak个出口:

  @IBOutlet fileprivate weak var myButton : WKInterfaceButton!

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