如何在WatchKit PageController中设置起始页面

时间:2015-04-27 11:37:00

标签: ios watchkit

我有一个页面控制器WatchKit应用程序,我在其中插入一个新页面。我想设置显示在刷新前我所在的索引的默认页面,但我无法弄清楚如何设置首先选择的页面(它始终默认为索引0处的页面)。以下是我如何刷新它们:

for (int i = 0; i < self.models.count; i++)
{
    [names addObject:@"MyInterfaceController"];
    [objects addObject:self.models[i]];
}

[WKInterfaceController reloadRootControllersWithNames:names contexts:objects];

有人知道如何以编程方式设置所选页面吗?

3 个答案:

答案 0 :(得分:3)

当您致电names时,初始订单取决于contextsreloadRootControllers的顺序。但是,您可以使用becomeCurrentPage上的WKInterfaceController方法更改当前页面。

点击此处的文档:https://developer.apple.com/library/prerelease/ios/documentation/WatchKit/Reference/WKInterfaceController_class/#//apple_ref/occ/instm/WKInterfaceController/becomeCurrentPage

答案 1 :(得分:0)

此时我们无法做到这一点,我担心。充其量,正如bgilham所述,您可以让您的应用启动到第0页,并动画到另一个。但这听起来并不像你正在寻找的那种行为。

答案 2 :(得分:0)

watchOS 4现在具有您所需的方法。检出:https://developer.apple.com/documentation/watchkit/wkinterfacecontroller/2868441-reloadrootpagecontrollers

WKInterfaceController.reloadRootPageControllers(withNames: names,
                                                contexts: contexts, 
                                                orientation: .horizontal, 
                                                pageIndex: startPageIndex)

您可能已经猜到了,最后一个参数是起始页的索引。无需动画即可工作,而只是您想要的:)