情况:
我的应用需要“启动展示view”->“登录view”->“内容view”(这三步用URLManager在AppDelegate里面做的URL和ViewController关联)
其中的“内容view”是navigation和tabbar组合的,中间部分是自定义的tableview,当点击tableview的时候,push一个新的view,新view只有navigation,但是没有tabbar了,或者需要定制一新的tabbar。
问题:
怎样组合URLManager和自定义tabbar才是这种情况的最佳实践?
思路一:
所有的ViewController和URL地址的注册都放到AppDelegate里面,任何时候的跳转都是根据URLManager的实践进行跳转,其中在“内容View”里面将tabbar的实现addsubview到内容view中。
思路二:
“启动展示View”、“登录View”这三个View在AppDelegate中注册关联,然后把navigation对象在rootview加载上,在登陆成功后,将rootveiw换成“内容View的一个导航控制器”,这这个控制器中加入自定义tabbar和内容tableview。
不知道以上两个思路哪个更容易一些,还是这两个思路都不靠谱。
首先,URLManager提供的两个最重要的东西:
通过URL生成ViewController
以URL为基础处理NavigationController
首先,所有的URL和ViewController的对应关系一定是要在AppDelegate里定义的。
然后,UMNavigationController现在只能提供非常简陋的原始push和pop的动画。
内容View,直接就是UITabBar的View,然后每个Tab都是一个UMNavigationController。因为UMNavigationController和UMViewController都是从UINavigationController和UIViewController继承的,所以要隐藏或自定义TabBar就直接用hidden方法,或替换就可以了。
展示View和登录View,这两个View其实不是整体流程里的View,完全脱离内容View流程的,也就是不用UMNavigationController管理。所以,不管是用不用URL注册的方式都不重要了~~~而且要自己管理动画之类的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。