ipad tabbar纵向显示引起的一些问题及处理(navigationItem空白或不见了)
1、iphone上测试挺好的,图标纵向显示
2、ipad上显示变成了水平显示
然后网上查了一下说是只要override一个方法即可,当然也做到了。
因为第一个viewcontroller没有navigationBar,也没有点其它的看,感觉挺完美。
过了几天有点忘记了,测试的时候发现其它的viewcontroller的navigationItem全成了光头。
哈哈,有点搞笑,上面一片空白(灰白)。
#pragma mark -让ipad上也是纵向
//- (UITraitCollection *)traitCollection{
// if (UIDevice.currentDevice.userInterfaceIdiom == UIUserInterfaceIdiomPad) {
// return [UITraitCollection traitCollectionWithVerticalSizeClass:UIUserInterfaceSizeClassRegular];
// }
// return [super traitCollection];
//}
以上的方法是实现了纵向显示。
因为时间隔了几天,也没有在意,以为是别的第三方或者写的有问题。
那么总归要解决:
1)先要找出问题的根源,现在根本不知道问题在哪。
2)NSLog(@"%s", self.navigationItem.title);
self.navigationItem.title
self.navigationController.navigationItem.title
self.navigationController.navigationItem.rightBarButtonItems.description
全有值。而且也是刚刚赋值上去的。
3)有点奇怪,既然有值,为什么不显示,是一片空白呢,在iphone里全是好的。
4)好了问题来了,在ipad里有问题的。而且是因为测试ipad的 os不是最新的原因?
5)先看一下viewcontroller的分层结构吧,看看iphone与ipad中有什么区别。
上面是iphone里的图,很明显不管是tabbar navgitionBar上面全有值,一层一层显示的很清楚。
什么也没有啊。(操作:在viewcontroller viewDidLoad里打个断点,接从左往右键头指向操作即可。)
想了想,这个是什么问题呢,一开始以为QMUI的问题,难道是没有启用皮肤,就出问题了。
那把QMUI全删除,试一下看,还是老样子。
但对比了一下,也就是说在ipad上执行了一个比iphone上多的代码。
回想了一下,那只有这个tabbar纵向,横向显示的问题了。
果然是这个问题,现在好多兄弟发表blog,挺好,但是很多文章,还是要自已测试了以后再说。