8

基本上,我的应用程序以页面格式布局,我希望它在三个页面的中间启动。没有办法设置前一页segue,所以我一直在尝试用代码来做。

我将主视图设置为第一个视图,并且我尝试了多种方法来在应用程序启动后立即切换到中间视图。

这是我尝试的两种方法:

    if segueCheck == true {
        self.pushControllerWithName("budget", context: self)
        self.presentControllerWithName("budget", context: self)
        segueCheck = false
    }

第一个呈现视图,但作为一个完全独立的视图,第二个用中间视图替换第一个视图。

有谁知道我如何启动到中间视图并允许用户左右滑动它?

谢谢。

4

3 回答 3

8

WKInterfaceControllerbecomeCurrentPage()应该是你要找的。

让我们为中心视图控制器创建一个新类CenterPageViewController,并将其 initWithContext:方法更改如下

import WatchKit

class CenterPageViewController: WKInterfaceController {

    override init(context: AnyObject?) {
        super.init(context: context)

        super.becomeCurrentPage()        
    }
} 

现在让我们将故事板中间页面的自定义类设置为CenterPageViewController

在此处输入图像描述

最后点击运行。

您将无法摆脱从左侧页面到中心页面的初始转换,但应用程序最终会从中间页面开始。

于 2014-11-24T15:05:16.743 回答
1

更新 Swift 3.0

class CenterPageViewController: WKInterfaceController {

override init (){
    super.init()
    super.becomeCurrentPage()
  }
}

这将有效...!!!

谢谢

于 2017-08-08T09:20:57.973 回答
1

在 watchOS 4 及更高版本中执行此操作的新方法是:

WKInterfaceController.reloadRootPageControllers(withNames: 
["Controller1" "Controller2", "Controller3"], 
 contexts: [context1, context2, context3],
 orientation: WKPageOrientation.horizontal,
 pageIndex: 1)

becomeCurrentPage()现在,当您想从中间页面开始使用时,您不会得到烦人的动画。

于 2019-03-08T06:06:11.190 回答