关于navigationViewController与tabViewController组合使用的问题

首先两类控制器组合使用有两种方式:
第一,应用的主控制器是navigaitionViewController,然后导航控制器的根控制器是tabViewController;
第二,应用的主控制器是tabViewController,然后每个tab 项都是一个navigaitionViewController,这种比较麻烦,但有时还是必需的。

这里主要讨论旋转的问题。一个tabViewController要想旋转,必须保证任何一个tab项控制器都支持旋转(不知对不对,我目前猜测是这样的)。如果想支持某一个tab项控制器旋转还是比较难做到的。如果采用上面提到的第一种组合方式,则可以在一定程度上面实现。主控制器是navigaitionViewController,导航控制器的根控制器是tabViewController,相当于首先把tabViewController压入栈内,如果点击某一个tab项中的tableviewcell,然后再把一个新的控制器压栈,这样这个新的控制器就不受tabViewController影响了,它是独立的,可以单独设置它的转屏与否。这样是采用第一种方式可以做到的。但这种方式的缺点是,在新的控制器压入栈后,下面的tabbar就不会显示了。另外当多于5个tab项时,那个自动排列的tableview会出现便宜,当然这个可以通过自定义“更多”实现。

总结就是,如果支持单独tab项旋转,可采用第一种方式,如果想要下面的tabbar一直显示,可采用第二种方式。

最后像网易腾讯新闻那样的客户端,下面的tabViewController应该是自定义的,否则不应该可以实现“图片项封面”就可以支持旋转啊?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值