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