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



发布于 2017-06-26 19:40:00
原因是在未使用的断点中.
总之:
使用awake(withContext:)更改UI:
在创建接口控制器时,WatchKit实例化类并调用其init()方法,然后是它的唤醒(withContext:)方法。使用这些方法初始化变量,加载数据,并在情节提要场景中配置项目。如果WatchKit将一个有效对象传递给觉醒(withContext:)方法,则使用该对象中的信息自定义初始化过程。
您不能使用willActivate()更改背景色等:
willActivate()方法让您知道您的接口何时处于活动状态。使用willActivate()方法执行任何最后一分钟的任务,例如检查内容的更新。(不要将它用于您的主要初始化。)
同时,也要使用weak插座:
@IBOutlet fileprivate weak var myButton : WKInterfaceButton!检查你的插座是否连接。
https://stackoverflow.com/questions/44767388
复制相似问题