首先两类控制器组合使用有两种方式:
第一,应用的主控制器是navigaitionViewController,然后导航控制器的根控制器是tabViewController;
第二,应用的主控制器是tabViewController,然后每个tab 项都是一个navigaitionViewController,这种比较麻烦,但有时还是必需的。
这里主要讨论旋转的问题。一个tabViewController要想旋转,必须保证任何一个tab项控制器都支持旋转(不知对不对,我目前猜测是这样的)。如果想支持某一个tab项控制器旋转还是比较难做到的。如果采用上面提到的第一种组合方式,则可以在一定程度上面实现。主控制器是navigaitionViewController,导航控制器的根控制器是tabViewController,相当于首先把tabViewController压入栈内,如果点击某一个tab项中的tableviewcell,然后再把一个新的控制器压栈,这样这个新的控制器就不受tabViewController影响了,它是独立的,可以单独设置它的转屏与否。这样是采用第一种方式可以做到的。但这种方式的缺点是,在新的控制器压入栈后,下面的tabbar就不会显示了。另外当多于5个tab项时,那个自动排列的tableview会出现便宜,当然这个可以通过自定义“更多”实现。
总结就是,如果支持单独tab项旋转,可采用第一种方式,如果想要下面的tabbar一直显示,可采用第二种方式。
最后像网易腾讯新闻那样的客户端,下面的tabViewController应该是自定义的,否则不应该可以实现“图片项封面”就可以支持旋转啊?
关于navigationViewController与tabViewController组合使用的问题
最新推荐文章于 2024-08-11 18:28:44 发布