问题标签 [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 回答
362 浏览

ios - 有什么方法可以改变 WKPickerItem 标题的字体大小

有没有办法改变 WKPickerItem 标题的字体大小。如何改变它的标题字体大小。

0 投票
0 回答
1275 浏览

swift - swift中watchkit的启动画面

我想为我的手表应用程序实现一个闪屏。经过长时间的检查,我开始意识到对于手机和平板电脑来说,没有办法像 launchscreen.xib 或 info.plist 中的启动图像供观看

为了实现启动画面,我制作了一个新的启动界面,它只会在应用程序启动时出现。要做到这一点

对于生命周期,我检查了这个博客

之后在 willActivate() 函数中我已经实现了

和我的更新功能

我的观点是;我希望这个界面只在应用程序启动时显示,当返回这个界面时,应用程序结束。

0 投票
3 回答
819 浏览

ios - 强制触摸后选择菜单项时未调用选择器

我有这个代码,用于响应在强制触摸后点击的菜单项:

当我强制触摸时,会出现菜单。当我点击“暂停”按钮时,test()不会调用。

任何想法为什么会这样?

0 投票
2 回答
295 浏览

swift - 当控制器不是当前页面运行但不更新任何 UI 时,WatchOS2 UI 更新发送到基于页面的 WKInterfaceController

我有一个 3 页的应用程序,当我从我的 WatchConnectivity 委托(即我的扩展委托)接收信息时,我将其委托给 InterfacController 以更新 UI。

但是,处理更新的代码运行,包括 UI 更新,但 UI 实际上没有更新。

似乎您只能在当前页面时更新 interfaceController 的 UI。

我的问题是,如果用户在数据进入时转到不同的页面,我如何知道当我返回该页面时,UI 是否已更新。如果我使用 Bool 来跟踪状态,则 Bool 将被更改,但 UI 不会更改。

加载数据需要时间,所以我不想每次调用 willActivate 时都重新加载数据。

0 投票
1 回答
113 浏览

watchos-2 - WKInterfaceMap 未在 WatchOS 2 项目中显示

我正在尝试通过此类在 Watch 应用程序中显示地图:

这是对应该没问题的 MapRegion 的描述:

然而,只显示空白地图。如何显示真实地图?

0 投票
0 回答
159 浏览

swift - watchOS 2 - 替换可见控制器

我正在开发一个基于分页导航的 watchOS 2 应用程序。但是,我想动态设置一些控制器。我知道我可以调用以下内容:

这样,我就可以动态地更改控制器。但似乎我每次都必须设置所有控制器。这会为每个条目实例化新的控制器。取而代之的是,我只想附加视图控制器,同时保留第一个控制器的上下文和实例变量,以免再次访问网络。watchOS 2 目前是否支持此功能?

0 投票
1 回答
128 浏览

ios - 如何更新未显示的控制器中的 WKInterfaceLabel 使用基于页面的 segue

在我的 watchos 2 应用程序中,当我更新数据时,仅在显示的控制器中更新。如果我在 willActivate() 中更新标签 - 文本会延迟更改。如何更新未显示的控制器中的 WKInterfaceLabel 使用基于页面?WKInterfaceController.reloadRootControllersWithNames 方法不适合

0 投票
1 回答
202 浏览

ios - 如果 becomeCurrentPage 被后期页面调用,则不绘制接口

就像莎拉在这个链接中说的: https ://forums.developer.apple.com/thread/26922 当我调用“presentControllerWithNames()”并且页面数超过 5 时,我使用方法“becomeCurrentPage”遇到了同样的问题。我有一个 WatchKit 应用程序,其中初始控制器创建了一个使用 presentControllerWithNames() 调用的 15 页界面。所有这些都是相同的子类 WKInterfaceController。根据传递的上下文数据,前 15 个页面中的一个将在 awakeWithContext() 期间调用 becomeCurrentPage() 以使其成为活动页面。只要它是早期页面之一,它就可以正常工作,但对于后面的页面,显示显示为空白。如果我向后滑动页面,则在我到达第 4 页之前什么都不会出现,该页面会在稍许停顿后显示。之后向前或向后滑动会显示预期的显示。使用调试器,我可以看到界面元素都已初始化并且可以通过编程方式访问。它们未设置为隐藏,但不会出现。

编写一个非常简单的测试应用程序,我发现问题不是页面总数,而是调用 becomeCurrentPage() 的页面的索引。这在模拟器和手表之间或从测试到测试之间并不一致。

在我在模拟器上运行的测试应用程序中,如果任何页面(包括 18 个页面)处于活动状态,则具有 30 个页面的应用程序将始终工作。激活第 19 页有时会起作用。激活第 20 页将永远无法正常工作。

在我的实际手表中,数字更低且变化更大:激活第 5 页将始终有效。激活第 6 - 10 页有时会起作用。激活第 16 页或更多页将永远无法正常工作。

我稍后尝试在方法中设置页面:“didAppear”,如果我想要 10 或 20 页,它没有帮助。

我发现的唯一解决方法是在页面之间进行一系列向前跳转,每个页面之间都有一个延迟。我发现以 0.3 秒的延迟向前跳转 3 页一直有效,但它使界面看起来很糟糕,因为它需要超过一秒钟的时间才能到达目标页面,并且屏幕会在你前进时闪烁中间页面。

这是 becomeCurrentPage() 的已知错误吗?有谁知道如何处理这个问题?

0 投票
1 回答
340 浏览

ios - 从 ExtensionDelegate 类调用 WKInterfaceController 的公共方法 - WatchKit

我打电话给

在我的触发的方法

中的方法ExtensionDelegate。但是从这里我想在 a 中调用一个公共方法WKInterfaceController来更新我的 UI。我不想重新加载根控制器,因为这个特定的控制器不是根控制器。是否可以从ExtensionDelegate. 我可以打电话吗

-(void)session:(WCSession *)session didReceiveApplicationContext:(NSDictionary<NSString *,id> *)applicationContext

从接口控制器中的某个地方而不是ExtensionDelegate

0 投票
1 回答
243 浏览

watchkit - 自定义 WK 状态栏中的标题

我正在尝试在我的第一个控制器的 WK 状态栏中自定义标题。

在此处输入图像描述

正确的方法应该是这样的:

所以

但是使用此代码,xCode 说Cannot convert value of type 'String' to expected argument type 'WKInterfaceController'。怎么了?