基本上,我的应用程序以页面格式布局,我希望它能够启动到三页的中间。没有办法设置上一页segue,所以我一直在尝试在代码中执行。
我将主视图设置为第一个视图,并且我已经尝试了各种方法在应用程序启动后立即转到中间视图。
这是我尝试的两种方式:
if segueCheck == true {
self.pushControllerWithName("budget", context: self)
self.presentControllerWithName("budget", context: self)
segueCheck = false
}
第一个呈现视图,但是作为完全独立的视图,第二个视图用中间视图替换第一个视图。
有谁知道如何启动到中间视图并允许用户向左和向右滑动?
谢谢。
WKInterfaceController
的becomeCurrentPage()
应该是你想要的。
让我们为中心视图控制器CenterPageViewController
创建一个新类,并将其initWithContext:
方法更改如下
import WatchKit
class CenterPageViewController: WKInterfaceController {
override init(context: AnyObject?) {
super.init(context: context)
super.becomeCurrentPage()
}
}
现在让我们将故事板中间页面的自定义类设置为CenterPageViewController
并最终命中运行。
您将无法摆脱从左侧页面到中间页面的初始转换,但应用程序最终将从中间页面开始。
更新Swift 3.0
class CenterPageViewController: WKInterfaceController {
override init (){
super.init()
super.becomeCurrentPage()
}
}
这将有效... !!!
谢谢
在watchOS 4及更高版本中执行此操作的新方法是:
WKInterfaceController.reloadRootPageControllers(withNames:
["Controller1" "Controller2", "Controller3"],
contexts: [context1, context2, context3],
orientation: WKPageOrientation.horizontal,
pageIndex: 1)
现在,当您想要从中间页开始时,使用becomeCurrentPage()
时,您不会得到烦人的动画。