基于动态页面的Apple Watch应用程序

时间:2015-01-16 06:55:49

标签: ios objective-c swift watchkit

我尝试创建基于页面的Apple Watch应用程序。

据我所知,您可以在故事板中为您的应用创建固定数量的页面。

所以我想知道是否有任何方法可以根据加载的数据以动态编程方式为您的应用创建页面?

I.e:一个报纸应用,用户可以左右滑动切换到不同的文章。

由于

3 个答案:

答案 0 :(得分:11)

您可以从代码中呈现基于页面的导航。您可以根据需要指定任意数量的页面,但必须在故事板中设计这些页面

func presentControllerWithNames(names: [AnyObject], contexts: [AnyObject]?) // modal presentation of paged controllers. contexts matched to 

示例

现在Page对象的接口。此代码显示每个对象的页面

let objects  = ["1", "2", "3", "4", "5"]
let controllers = Array(count: objects.count, repeatedValue: "Page")
presentControllerWithNames(controllers, contexts: objects)

为不同的对象对象提供不同的接口。

let objects  = [1, 2, 3, 4, 5]
let controllers = objects.map { object  in object % 2 == 0 ? "Even-Page" : "Odd-Page" }
presentControllerWithNames(controllers, contexts: objects)

答案 1 :(得分:7)

在root接口控制器的awakeWithContext方法中,使用WKInterfaceController.reloadRootControllersWithNames类方法。

let objects  = ["1", "2", "3", "4", "5"]
let controllers = Array(count: objects.count, repeatedValue: "Page")
WKInterfaceController.reloadRootControllersWithNames(controllers, contexts: objects)

答案 2 :(得分:1)

我无法得到这些答案,因为我错过了一个重要的部分,你需要创建一个第二个接口控制器,其标识符作为控制器名称。有关详细信息,请参阅此处:https://stackoverflow.com/a/28955247/945247