假设这是我的视图层次结构,
查看控制器:L (login:success)
- > A | B | C | D | E - > (logout)
L
是的,这是一个启用了UITabbarController
的应用,从任何标签用户都可以退出,我需要将他带到L.每个标签都有单独的UINavigationController
。
来自VC
假设我的应用的用户处于特定标签的以下位置
现在,
我的问题?
如果用户想要从E2注销 - 如何通过从每个标签中删除所有推送的视图控制器来将他带到L?
需要吗?如果是,那么我该如何为不同的导航控制器执行此操作。
有什么好方法吗?
我在想做什么?
更新:找到了这个!
登录前:
登录后:
退出后:
请建议。
答案 0 :(得分:1)
为什么不只是使用presentViewController
从每个导航控制器以模态方式显示注销视图,而不是重新排序导航堆栈。
如果用户想要注销E2,请以模态方式显示注销视图,分配一个委托回叫,这样一旦他们注销并且视图即将解散,您就会知道。在此之前,弹出回root(E1)。
答案 1 :(得分:0)
我只是按照方式 - 我在想。
在为UITabbarController
viewControllers
属性设置nil后,我将根视图控制器更改为L.这将调用这些类的dealloc
。此外,我正在每个标签中循环以将其弹出到其根目录。