首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WatchKit setBackground彩色崩溃

WatchKit setBackground彩色崩溃
EN

Stack Overflow用户
提问于 2017-06-26 19:34:51
回答 1查看 74关注 0票数 0

导入UIKit并尝试以编程方式在何处初始化按钮颜色之后,我似乎无法理解为什么在符合WKInterfaceController的类中会发生崩溃

代码语言:javascript
复制
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
  }
}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-06-26 19:40:00

原因是在未使用的断点中.

总之:

使用awake(withContext:)更改UI:

在创建接口控制器时,WatchKit实例化类并调用其init()方法,然后是它的唤醒(withContext:)方法。使用这些方法初始化变量,加载数据,并在情节提要场景中配置项目。如果WatchKit将一个有效对象传递给觉醒(withContext:)方法,则使用该对象中的信息自定义初始化过程。

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

willActivate()方法让您知道您的接口何时处于活动状态。使用willActivate()方法执行任何最后一分钟的任务,例如检查内容的更新。(不要将它用于您的主要初始化。)

同时,也要使用weak插座:

代码语言:javascript
复制
  @IBOutlet fileprivate weak var myButton : WKInterfaceButton!

检查你的插座是否连接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44767388

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档