iOS12.0 tabbar 闪动 以及 view 上移49 的解决方法

本文介绍了在iOS12.0中遇到的TabBar闪动和ViewController高度异常问题。通过将TabBar的translucent属性设置为NO可以解决闪动,但可能导致页面高度减少49像素。通过设置extendedLayoutIncludesOpaqueBars为YES可修复高度问题。此外,将TabBar的tintColor设为不透明颜色也是一种有效的防闪动方法。对于ViewController过度释放问题,确保在deallocate时将tableView或scrollView的delegate设为nil,以避免在iOS9.0以下版本出现崩溃。
摘要由CSDN通过智能技术生成

前言

最近真的是...忙透了,在解决问题的时候除了这样几个问题

1. 项目tabbar iOS12.0 进出页面 push pop的时候 会滞后出现...会闪动吧

2. 一个ViewController 会过度释放

解决问题

1.  从广大网友那里得出 将tabbar的translucent 设置为NO 即可解决闪动问题. 但是这样的操作会导致另外一个问题

我们的结构是 一个UITabBarController 里边有5个子Controller 然后 其中一个Controller 里边有两个ChildController  我们的高度不是直接自适应出来的是直接用屏幕高度减去 导航栏以及tabbar的高度作为高, 这5个Controller 的显示确实没有出现问题,但是其中那个Controller的两个子Controller的高度都比设置的要少49 一个Tabbar的高度.所以推测是translucent 导致的问题...

然后从网上找到这样一个参数extendedLayoutIncludesOpaqueBars 这个我的理解是是否扩展绘制到你不透明的bars 的部分 当我们将translucent 设置为NO 的时候这个参数为NO 或者你防止一个不透明的image 的时候该属性也会设置为NO ,导致页面不会延展到你的tabbar 下边去,所以导致了我子页面的页面高度少了49.(发现的过程是在view.frame 在viewWillAppear里高度减少了49 之前一直都是 正常的frame).所以我将页面的extendedLayoutIncludesOpaqueBars = YES, 就解决了这个问题

但是

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值