Ios 如何从第二个视图弹出回根视图?

Ios 如何从第二个视图弹出回根视图?,ios,storyboard,segue,apple-watch,Ios,Storyboard,Segue,Apple Watch,我使用apple watch情节提要中的2个modalsegues将3个视图(根视图、第一视图、第二视图)连接在一起 1) 在根视图中:按下“保存”按钮后,将显示第一个模式视图 2) 在第一模式视图中:按下“500”按钮后,将显示第二模式视图。(我可以按取消按钮弹出到根视图) 3) 在第二模式视图中:按下“保存”按钮后,我想返回根视图。如何做到这一点 -->我不想按两次取消按钮返回到根视图 我发现只有当你的“注销”屏幕确实是根屏幕时,这才有可能。如果不是(因为之前有屏幕),则不能使用下一种方法

我使用apple watch情节提要中的2个modalsegues将3个视图(根视图、第一视图、第二视图)连接在一起

1) 在根视图中:按下“保存”按钮后,将显示第一个模式视图

2) 在第一模式视图中:按下“500”按钮后,将显示第二模式视图。(我可以按取消按钮弹出到根视图)

3) 在第二模式视图中:按下“保存”按钮后,我想返回根视图。如何做到这一点

-->我不想按两次取消按钮返回到根视图


我发现只有当你的“注销”屏幕确实是根屏幕时,这才有可能。如果不是(因为之前有屏幕),则不能使用下一种方法

我说的方法是

[WKInterfaceController reloadRootControllersWithNames:(NSArray *) contexts:(NSArray *)]
当您在第二个模式中通过“保存”按钮捕获操作时,调用此方法。它将加载您在第一个数组中指定的页面(这里您必须添加根控制器的标识符)和第二个数组的上下文(如果您希望根控制器意识到它是从第二个模式调用的,而不是因为应用程序是第一次打开的而被调用的,那么在这里您将传递一个对象)


希望这有帮助。

我已经实现了您的场景

1. Use push pushControllerWithName: method to push to another view controller to navigate. Do not use present or modal to navigate to another view controller. 
2. Create one NSNotificationCenter observer in your Watch first controller. 
3. Create and assign WatchSession delegate in WCWatchDelegate. 
4. Whenever watchsession delegate calls, post notification center.
5. Now, final step is whenever your notification method calls, use [self popToRootController]; and you will be redirect on your root controller.

I have followed these step and i'm succeeded. Accept Answer if it works for you. Dont forget to vote up!!!

使用[self.navigationcrontroller poptoRootviewcontroller动画:是];您提供的模式视图不能使用popToRootViewController,您可以使用Unwind Segues Hi@Anbu.Karthik我在第二个模式视图“SavedInterfaceController”中添加了self.popToRootController(),该视图的类型为WKInterfaceController。但按下“保存”按钮后,它只会保留在第二个模式视图中。顺便说一句,我使用的是模式segue而不是推送segue。请帮助@嗨@HuyNghia这是苹果手表。。。情节提要没有展开段。。。还是我遗漏了什么?@user1872384很抱歉,我对WacthKit一无所知:(忘了提一下,万一你之前有屏幕,你不能使用这个方法(因为它会破坏导航,“忘记”以前调用过的屏幕)您应该隐藏第一个模式中的元素,并重新加载UI,而不是打开第二个模式。因此,当您按“取消”时,返回“注销”屏幕。如果有帮助,请将回答标记为正确!