iOS 11 tabar的title和icon 挤压的问题

96
老JI
2017.10.17 13:57* 字数 295

问题的效果图如下

问题效果图

问题复现的方法:

1 进入列表主页
2 在列表主页push进去一个controller
3 横屏退出
之后就会出现上面的问题。

描述

Tabbar 我是自定义的。这个问题主要出现在 iOS 11 iPhone 6s上在其他机型没有出现。一开始以为是iOS 11适配的问题,最后在网上找了好多,适配iOS 11的文章,比如iOS 11 iPhone X适配,但是对于这个问题没有效果。iOS 11 iPhone X 上也会出现类似但不一样的问题。

原因

在iOS 11 iPhone 6s上当横屏时,tabbar的高度改变成了32,在竖屏时是49,而在其他机型和系统上tabbar的高度都是 49.所以在iOS 11 iPhone 6s上就出现了上图中的问题。这个原因应该是跟iOS 11有关,但是为什么其他机型上没有出现问题,原因还不知道。难道是系统bug?

解决

在自定义的tabbar的类中写下如下代码

-(CGSize)sizeThatFits:(CGSize)size
{
    CGSize sizeThatFits = [super sizeThatFits:size]; //如果在iOS 11 iPhone 6s 上当横屏时你会发现 size的height是 32 ,如果此时横屏回到上一页列表,那个上一页的列表的tabbar就有原来的49改成了32 就出现了问题
    sizeThatFits.height = 49; //修改成 49
    return sizeThatFits;
}

然后就解决了这个问题

iOS
Web note ad 1