适配 iPhone X Push 过程中 TabBar 位置上移
点击上方“iOS开发”,选择“置顶公众号”
关键时刻,第一时间送达!

前言
就在刚刚GitHub有同学给我提了个Issue,说我的框架在iPhone X上跑有bug,Push新页面的时候TabBar会上移。开玩笑吧?我的框架怎么会有bug,这一定是个误会,于是我去iPhone X跑了一下,哎哟嘿,脸好疼

image.png
发现问题
来个慢动作:

iPhone X 不完美.gif
上图可发现,点击跳转的时候,TabBar的确迅速上移了一段距离,没搞懂为啥,也许苹果别有用心,但我在心里还是骂了一下库克等人。
解决问题
在UINavigationController的基类重写pushViewController代理方法,在Push的时候修正一下TabBar的frame
- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
{
if (self.viewControllers.count > 0) {
if ([viewController conformsToProtocol:@protocol(XYTransitionProtocol)] && [self isNeedTransition:viewController]) {
viewController.hidesBottomBarWhenPushed = NO;
}else{
viewController.hidesBottomBarWhenPushed = YES;
}
}
[super pushViewController:viewController animated:animated];
// 修改tabBra的frame
CGRect frame = self.tabBarController.tabBar.frame;
frame.origin.y = [UIScreen mainScreen].bounds.size.height - frame.size.height;
self.tabBarController.tabBar.frame = frame;
}
修正完的效果:

iPhone X 完美.gif
我就说嘛,这一定是个误会,一个美丽的误会。

作者:臭码农
http://www.jianshu.com/p/719ab369d011
iOS开发整理发布,转载请联系作者授权
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号随时掌握互联网精彩
- 1 习近平同马克龙交流互动的经典瞬间 7904039
- 2 公考枪手替考89次敛财千万 7808229
- 3 渐冻人姑娘为自己办了场生命告别会 7712308
- 4 2025你的消费习惯“更新”了吗 7616364
- 5 流拍4次的百达翡丽再挂拍 估值4千万 7522393
- 6 一身塑料过冬?聚酯纤维真是塑料瓶吗 7427489
- 7 黑龙江水库冰面下现13匹冰冻马 7331745
- 8 女子裤子内藏2斤多活虫入境被查 7234334
- 9 微信表情包戒烟再度翻红 7135881
- 10 中疾控流感防治七问七答 7046010










iOS开发
