问题标签 [wkinterfacecontroller]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
294 浏览

alert - UITableViewAlertForLayoutOutsideViewHierarchy 的断点,当警报应该显示在 WKInterfaceController 上时

我的手表应用程序使用 aWKInterfaceController来显示WKInterfaceTable. presentAlert如果出现错误,它会在显示的中使用调用来显示警报WKInterfaceController
我在 处设置了一个符号断点UITableViewAlertForLayoutOutsideViewHierarchy,因为我更早地收到了警告:

仅警告一次:UITableView 被告知在视图层次结构中布局其可见单元格和其他内容(表视图或其超级视图之一尚未添加到窗口中)。这可能会在没有准确信息的情况下强制表视图内的视图加载和执行布局(例如表视图边界、特征集合、布局边距、安全区域插入等),从而导致错误,并且还会由于额外的布局传递而导致不必要的性能开销. 在 UITableViewAlertForLayoutOutsideViewHierarchy 处创建一个符号断点,以便在调试器中捕获此问题并查看导致此问题发生的原因,因此如果可能,您可以完全避免此操作,或者将其推迟到表格视图添加到窗口中。

现在,当显示 my 时,我的应用程序会在此断点处停止WKInterfaceTable,并且应该在以下位置显示警报

堆栈跟踪是:
在此处输入图像描述

我的问题是:
这个断点的原因是什么,如何避免?

编辑:
我刚刚意识到,当我尝试编辑这个断点时,它显示: ......我不知道这意味着什么......
在此处输入图像描述

0 投票
2 回答
147 浏览

interface - 苹果手表应用程序上的黑屏页面超过一页

嗨,我创建了一个 Watch 应用程序,它有两个页面,但是当我在 Apple Watch 上运行它并在几秒钟后在页面之间切换时,一个页面(有时是 page1,有时是 page2)变黑并且它没有显示我的按钮,没有任何标签。但是当我在模拟器上运行它时,一切都很好,而且在我将第二页添加到应用程序之前它在 Apple Watch 上也可以

0 投票
1 回答
34 浏览

swift - 从一个接口控制器移动到另一个

我试图在接口控制器中有一个倒数计时器,当时间为 0 时,我希望它对下一个接口控制器执行 segue。

有没有办法做到这一点?

0 投票
1 回答
85 浏览

ios - WKInterfaceController,如何以编程方式设置“间距”和“插图”

我查看了 Apple 的 WKInterfaceController 文档:

插入:在界面控制器的边缘与其内容之间插入的空间量(以磅为单位)。选择自定义可让您为顶部、底部、左侧和右侧边缘指定不同的值。

间距:界面控制器中项目之间的附加间距(以磅为单位)。

在 Interface.storyboard 中,我可以在右侧面板上设置这些,基本上我将 Insets 设置为 Custom 并将它们全部设置为 0。对于 Spacing,我检查“Custom”并将其设置为 0 以消除所有空间

有没有办法以编程方式设置这些?我尝试了代码(我找不到 WKInterfaceController 的“Spacing”属性,我想知道这是从哪里来的,但我认为对于 Insets,相应的属性是“contentSafeAreaInsets”,它采用“UIEdgeInsets”)

对于“contentSafeAreaInsets”,当我尝试时,它看起来只是一个只能获取的道具——错误:“无法用存储的属性 'contentSafeAreaInsets' 覆盖”:

override var contentSafeAreaInsets: UIEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

我也尝试在清醒状态下设置它,甚至添加一个覆盖初始化,但似乎无法以编程方式设置它。当我尝试其他东西时也是如此,例如尝试为 WKInterfaceGroup 设置“间距”(除了出现在界面故事板的右侧面板中之外,我什至找不到间距定义)

这些只是不是要在代码中设置,而是必须在界面故事板中设置吗?

0 投票
0 回答
43 浏览

ios - [WKInterfaceController pushControllerWithName:context:]:从主队列以外的队列调用。这不受支持,将来可能会失败(iOS)

错误 - [WKInterfaceController pushControllerWithName:context:]: 从主队列以外的队列调用。这不受支持,将来可能会失败。

在带有 Apple Watch 的 iOS 中,当我尝试推送 WKInterfaceController 时出现此错误。

我试过的 -

  1. DispatchQueue.main.thread

  2. 延时定时器

    DispatchQueue.main.async { if message["xyz screen"] == "new screen" { popToRootController() self.pushController(withName: "new", context: self) return } }