我试图使用标识符" InterfaceControllerTodoItemTapped"来推送一个接口控制器。以编程方式(部署目标iOS 8.2)轻触WKInterfaceTable行:
[self pushControllerWithName:@"InterfaceControllerTodoItemTapped" context:nil];
源控制器是基于页面的导航设置的一部分。
接收接口控制器的标识符字段设置为" InterfaceControllerTodoItemTapped"。
问题:虽然达到了上述推送命令(使用断点确认),但未显示InterfaceControllerTodoItemTapped,并且未调用其方法awakeWithContext(使用断点确认)。
答案 0 :(得分:14)
Apple的documentation声明必须选择基于页面的导航或分层导航。它们是相互排斥的。
因此,使用pushControllerWithName呈现控制器不适用于基于页面的导航。
解决方案是使用以下方法以模态方式显示控制器:
[self presentControllerWithName:@"InterfaceControllerTodoItemTapped" context:nil];
答案 1 :(得分:5)
如果您推送的界面控制器是分层导航,请确保 -
属性检查器中的标识符字段已设置。
[self pushControllerWithName:@"SSWatchTableInterfaceController" context:nil];
答案 2 :(得分:0)
适用于 Swift 5+ 版本
self.pushController(withName: "SecondWKVC", context: nil)