我一直使用swift / watchkit中的pushControlledWithName方法移动到另一个接口控制器,基本上是这样的:
self.pushControllerWithName("newinterfacecontroller", context: nil)
在我的一些项目中,当我把它放在一个函数中时(比如用户按下按钮的地方),它根本就不会被调用。没有错误,就好像代码根本不存在一样。如果我创建一个新的测试项目并尝试它就可以了。我很困惑这里发生了什么。
发生的事情的例子:
@IBAction func button1Action() {
println("test")
self.pushControllerWithName("newinterfacecontroller", context: nil)
}
按下按钮将在控制台中打印“test”,但它不会尝试移动到新的接口控制器(标识符为“newinterfacecontroller”)。
答案 0 :(得分:1)
我认为你已经从评论中找到了这个,但是基于页面的界面在技术上是模态而不是导航堆栈界面。
您可以从任何地方呈现模态,但您只能从非模态推送到导航堆栈。