WKInterfaceController 中的左边缘滑动在 Apple Watch 中挂起 UI

left-edge swipe in WKInterfaceController is hangs the UI in Apple watch

我在 WKInterfaceController 中遇到与左边缘滑动相关的严重问题。

当我从根界面控制器在 WKInterfaceController 中向左滑动两次时,我的应用程序挂起 UI。

例如,我有 A、B、C 三个 WKInterfaceController 当我从 A 界面控制器进行两次左边缘滑动之后,我点击一个按钮将我的界面控制器从 A 推到 B。所以我的 B 接口控制器从未出现在屏幕上。我检查了 willActivate 在 B 上被调用,但是 A 的 didDeactivate 方法从未被调用。

进入后台再回到前台就可以看到B接口控制器了

我正在使用以下代码将我的控制器从 A 推送到 B:

[self pushControllerWithName:@"B" context:nil];

之后我尝试segue做同样的事情。但是 segue 也会发生这种情况。

如果有人有同样的问题或知道相关的解决方案或建议,请告诉我。谢谢

我遇到了同样的问题。 我在这里写了一个非常简单的演示 https://github.com/ddrdjboy/AppleWatchLeftSwipeIssueDemo

步骤:

  1. 单击应用程序图标并启动应用程序(返回前台)。
  2. 单击 "Hello World~" table 行,它将推送到详细信息屏幕。
  3. 点击后退按钮或向左滑动。 (有时你可以忽略这一步,没关系。)
  4. 点击digital crown进入apple watch主界面

重复步骤 1-4 超过 30 次(根据我的经验)它会随机发生。

发生错误时: 点击"Hello World~"table行,没有效果。 点击左上角的后退按钮没有效果。 只有左边缘滑动才能救援。当我向左滑动时,第一个屏幕会从右向左动画,然后第二个屏幕会出现。非常非常奇怪。

我提出了一个错误并等待苹果的回应。