如何在 Apple Watch 中重新加载视图?

How to reload a view in the apple watch?

大家好,我必须从我的父应用程序(iPhone 应用程序)立即更新 并在手表 App 中显示该值。我必须重新加载中的值 当应用程序值更新时观看屏幕。我必须从应用程序更新并在其扩展应用程序中显示它。

如果更改 iPhone 应用中的位置。应该在 watch App 中自动更改这些值。我正在使用 App GroupNSUserDefault 在这些 apps.Now 之间共享值 我可以从手表应用程序访问值,但它无法获取自动更新。提前致谢

您可以设置计时器并更改标签的内容。

在WatchKit(WKInterfaceLabel)中,设置label的内容非常简单。只需使用以下代码即可为标签设置新文本:

Swift:

label1.setText(temperature)

Objective-C:

[label1 setText:temperature];

你也可以对图片、图表等做同样的事情。只需将前面所说的代码插入一个函数中,并在每次计时器完成其间隔时间时调用该函数。

定时器最好设置短一些。更短的间隔意味着刷新速度更快但更多的互联网使用和电池消耗,更长的间隔意味着刷新不像以前那样快,但更少的互联网使用和更省电。

您可以通过电池百分比更改 运行 时间间隔。如果它是 - 例如,小于 20% - 你可以设置更长的间隔,当它超过 20% 时,设置更短的间隔。您只能在 watchOS 2 中找到 Apple Watch 电池百分比,但在这两个版本中您都可以通过以下代码获取 iPhone 电池百分比:

Swift:

var x = UIDevice.currentDevice().batteryLevel

Objective-C:

int x = [UIDevice currentDevice].batteryLevel;

注意:短间隔为 10 毫秒到 200 毫秒,长间隔为 200 毫秒到 1 秒。 (ms = 毫秒 = 0.001 秒)

注意:您可以在定时器间隔调用视图的初始化方法。

如果要手动更新视图,只需制作一个按钮,然后设置标签和图表的数据(通过前面给出的代码)或调用视图初始化方法。