做了款跑步的app,其中部分页面的逻辑如上图。
我再开始跑步页面和跑步中的页面跳转中用的push
方式,跑步中页面到跑步暂停模式,再到成果分享这个页面全部都使用的model
方式,调用的presentModalViewController
方法。
请求,如果我想从分享成果直接返回到开始跑步界面,可不可以连续调用两次dismissViewControllerAnimated
和一次nav的pop
从而实现?
如果有其他方式可以完成这个逻辑,求告知!
【ps:(暂停→跑步)这个箭头忘记画了】
不需要調用兩次
dismissViewControllerAnimated
,直接讓跑步中VC
調用其NavigationController
的POP
將跑步中VC
彈出就可以一次釋放三個VC了。dismissViewControllerAnimated
,直接让跑步中VC
调用其NavigationController
的POP
将跑步中VC
弹出就可以一次性释放三个VC了。原理你懂吧,跑步暂停和分享跑步成果是present出来的,相当于是
跑步中VC
的枝(子VC),所以父VC弹出,就都弹出了。如果你不知道如何在
跑步成果分享
这个垮了两层的VC去反向调用跑步中VC
的方法,我这里有几个方案:使用通知中心
NSNotificationCenter
如果不是万不得已,不建议过多使用,容易让代码变得晦涩难懂协议回调delegate,传统方法,稍微麻烦一点
在
分享跑步成果
VC中,[[self presentingViewController] presentingViewController]
就是你的跑步中VC
,相信你已经懂了。祝你好运。
PS
小伙子, 我以为我数错了。
其实我上面说的是对的,只是
跑步中VC
也是没有navigationController
的。他的父节点才有
所以 还要再调一次
原理你懂吧,跑步暫停和分享跑步成果是present出來的,相當於是presentingViewController
跑步中VC
的枝(子VC),所以父VC彈出,就都彈出了。如果你不知道如何在-
使用通知中心
跑步成果分享
這個垮了兩層的VC去反向調用跑步中VC
的方法,我這裡有幾個方案:NSNotificationCenter
如果不是萬不得已,不建議過多使用,容易讓程式碼變得晦澀難懂分享跑步成果
VC中,[[self presentingViewController] presentingViewController]
就是你的跑步中VC
,相信你已經懂了。 #🎜🎜#小伙子, 我以為我數錯了。 #🎜🎜# #🎜🎜#其實我上面說的是對的,只是
跑步中VC
也是沒有navigationController
的。 #🎜🎜# #🎜🎜#他的父節點才有#🎜🎜# #🎜🎜#所以 還要再調一次presentingViewController
#🎜🎜# #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜#presentModalViewController方法
自iOS7就棄用了!你是指presentViewController:animated:completion
這個方法吧!presentModalViewController方法
自iOS7就弃用了!你是指presentViewController:animated:completion
这个方法吧!在
在NavigationController
层级下的VC可以通过popToViewController
这个方法跳转到指定VC,而通过present形式打开的Modal样式的VC,只能通过dismissModalViewController
NavigationController
層級下的VC可以透過popToViewController
這個方法跳到指定VC,而透過present形式開啟的Modal樣式的VC,只能透過dismissModalViewController來消失。 #🎜🎜#