在watchKit中更改初始接口控制器

时间:2015-06-11 11:26:54

标签: ios swift watchkit apple-watch

我有两个界面控制器,controller1.swiftcontroller2.swift

这些与 push-segue 连接(按钮操作后)。但在某些情况下,我需要跳过controller1并仅显示controller2。在iOS应用中,我在appDelegate中执行此操作,设置rootViewcontroller等。在Apple Watch Extension中执行此操作的方法是什么?

任何指南或帮助?

2 个答案:

答案 0 :(得分:6)

let rootControllerIdentifier = "FirstInputInterfaceController"

WKInterfaceController.reloadRootControllers(withNames: [rootControllerIdentifier], contexts: nil)

Swift 4:

let rootControllerIdentifier = "FirstInputInterfaceController"
WKInterfaceController.reloadRootControllers(withNamesAndContexts: [(name: rootControllerIdentifier, context: [:] as AnyObject)])

答案 1 :(得分:1)

经过长时间的研究工作后,我发现只有一个解决方案 - 创建一些SplashController,带有一些启动画面,并在

override func awakeWithContext(context: AnyObject?) {
    super.awakeWithContext(context)
}
在跟踪出现一些控制器后,

跟踪您需要的东西,例如

    if !isCounting {
        self.presentControllerWithName("Interface", context: nil)
    } else {
        self.presentControllerWithName("Timer", context: nil)
    }
希望它会帮助某人。 附: isCounting存储在NSUserDefaults