问题标签 [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 投票
1 回答
258 浏览

swift - 尝试通过 WatchKit 中的接口控制器发送数据时显示 nil 的上下文

我有两个接口控制器,其中 FirstInterfaceController 是我想要发送到 SecondInterfaceController 的上下文对象的接口控制器。我想知道为什么当我点击 buttonAction 时上下文显示为 0 时,上下文显示为 nil。

元数据定义如下:

这是我对 FirstInterfaceController 的定义:

这是我的 SecondInterfaceController 标识符 在此处输入图像描述

下面是 SecondInterfaceController 的定义:

0 投票
2 回答
755 浏览

swift - 如何在 watchOS 上基于分页的界面中的多个界面控制器之间共享变量

我有多个界面控制器,它们都以基于分页的格式同时打开。我需要在这些接口控制器之间共享信息。

对于我的用例,我不能强迫用户使用其他接口控制器之一(通过启动 segue),所以这些解决方案对我不起作用。我需要能够更改任一控制器中的一些变量,并在任一控制器中访问这些变量。

我尝试直接在接口控制器中设置一个当前不可见的变量:

但是,这不起作用(如预期的那样),因为它没有访问该接口控制器的当前实例化实例。

我正在考虑某种全局变量情况,或者在 UserDefaults 中存储首选项,但我觉得必须有更好的方法。

0 投票
0 回答
279 浏览

ios - WatchOS App:WKInterfaceController 的生命周期是什么?

有人向我解释 WKInterfaceController 生命周期的正确方式吗?

我想知道在创建接口控制器时如何使用WatchKit实例化类并调用它的-init、-awakeWithContext、-willActivate、-didAppear、-willDisappear、-didDeactivate方法。

如何在 WKInterfaceController 中逐一跟踪方法?

0 投票
1 回答
68 浏览

swift - 为什么 Xcode 停止让我在两个接口控制器之后连接 IBOutlets?

我正在为 Watch App 的前几个对象设置 IBOutlets。

但是,在做了一些 IBOutlets 之后,一旦我开始处理第三个 InterfaceController,它就会停止,关闭InterfaceController.Swift,而是打开WKInterfaceController.h。每次我尝试将标签或按钮添加到代码时,它都会这样做。

为什么是这样?如果我试图构建一个分层程序,我应该以不同的方式处理这段代码吗?

谢谢!这就是我想要的,我可以在其中添加插座...... 图像1

但是经过几个网点后,它会自动打开此页面,并且不再让我添加... 图片

0 投票
1 回答
164 浏览

objective-c - 获取可见控制器 iWatch

我有这种情况:

我有一个具有根的 iWatch 应用程序,WKInterfaceController当它触发一个特定事件时,我WKInterfaceController以这种方式呈现另一个:

我的问题是,当它触发我捕获的特定事件时InterfaceController,我必须在“testController”中显示警报。但是从那个根控制器我无法获得可见控制器(就像在 iPhone 项目中一样)。

0 投票
0 回答
167 浏览

ios - 仅滚动 WKInterfaceTable - WatchKit

我有这种情况:

一个WKInterfaceController内一个WKInterfaceTable和一个Group内一个标签。我想做这个:

插入组并在其下方插入表格,但只有表格必须滚动,并且组必须位于顶部WKInterfaceController,但我尝试实施此解决方案,但我得到了滚动整个WKInterfaceController内容(组也是)。

在此处输入图像描述

是否可以在 Apple Watch 中实施此解决方案?在 iOS 中这样做非常简单,但使用 WatchKit 我做不到。

0 投票
1 回答
291 浏览

ios - 以编程方式设置 WKPickerItem 不会超过某个值?

无法弄清楚这一点,通过下面的代码,我让用户在 a 上设置一个值WKPickerItem,将其存储在 中UserDefaults,然后在下次加载时InterfaceController加载它并尝试使用存储的值设置 PickerItem。问题是,如果我将值设置为 1 - 7,然后返回导航然后点击以再次显示此接口控制器,我会在 InterfacePicker 中看到正确的值。但是,如果我将它设置为 8、9 或 10,那么 InterfacePicker 只会上升到 7?正确的索引和项目打印到控制台,它只是 UI 中的实际值是错误的?

0 投票
1 回答
447 浏览

watchkit - 奇怪的 WatchKit WKInterfaceController 和 WKExtensionDelegate 生命周期调用

我在 WKExtensionDelegate 和 WKInterfaceController 上都添加了日志。这是我在 Watch OS Simulator 中启动和退出应用程序时得到的结果。(模拟器运行 watchOS 4.2)

第 1 步:第一次启动应用程序时,我看到的日志如下:

  • 初始化扩展委托
  • applicationDidFinishLaunching
  • applicationDidBecomeActive
  • 唤醒与上下文
  • 将激活
  • 确实出现了

第 2 步:当我在应用程序内时,按下主页按钮 (Cmd-Shift-h) 后,我得到以下日志:

  • applicationWillResignActive
  • 取消激活
  • 将激活
  • 确实出现了
  • 取消激活

第 3 步:我从应用程序屏幕再次启动我的应用程序(从并发症启动它时也是如此)

  • applicationDidBecomeActive
  • 将激活

问题1:在步骤2中,被didDeactivate调用了2次,也因为某种原因被调用。我希望只被叫一次。有没有人知道为什么会发生这种情况?willActivatedidAppeardidDeactivate

问题 2:在第 3 步中,在willActivate我希望didAppear被调用之后。为什么不叫?

0 投票
1 回答
1031 浏览

swift - WatchOS 警告:从层次结构中删除时拒绝 resignFirstResponder

我在 Xcode 中遇到了这个错误。

2018-02-26 07:13:22.326888-0500 Watch Extension[1298:2691330] [View] First responder warning: '<SPInterfacePicker: 0x14dc1740; frame = (76 0; 58 44); gestureRecognizers = <NSArray: 0x14dcd8a0>; layer = <CALayer: 0x14dc1910>>' rejected resignFirstResponder when being removed from hierarchy

我的 InterfaceController 有 4WkInterfacePicker秒,看起来这个错误可能与显示警报(当用户保存数据时)有关,但我不确定。

有没有其他人见过这个?

我的代码:

0 投票
1 回答
95 浏览

ios - 如何在 Apple Watch 上的基于页面的导航中转到中间的 InterfaceController?

我正在尝试构建与 Apple Watch Workout App 类似的流程,在您开始锻炼后,您会看到一个显示持续时间的 InterfaceController,然后您向左滑动以查看额外的 InterfaceController,或向右滑动以结束锻炼等。接口控制器。但是(下图)我无法向右滑动以查看左侧的 IC 以结束锻炼。我怎样才能做到这一点,以便用户被放置在导航堆栈的第二个 IC 中而没有黑客解决方案,例如如果我从初始 InterfaceController 自动重新加载到 IC #2?

在此处输入图像描述