swift 隐藏tabbar 并且原位置可响应事件

最近公司项目需要在一个界面对状态进行判断来觉得是否显示tabbar,

自己直接使用self.tabBarController?.tabBar.isHidden = true导致原来位置不响应事件,debug看了一下 是viewController的view没有延伸到新的屏幕底部,也就是说,只是延伸到了原来导航位置的上方,这就导致原来导航的位置不响应事件
百度了一下说设置tabbar的frame为zero就行了。
但是我设置之后,发现屏幕无缘无故出现了一些线条,在顶部电量条的位置,

EA2FAD2A-A6A0-4088-A9CB-84B0911E4D6F.png
我后来吧tabbar的frame设置为全屏,我看了一下,原来是tabbar被聚集在一块的问题,设置frame为0 也会显示一块,不知道为什么
我目前的解决方式为

self.tabBarController?.tabBar.isHidden = true
self.tabBarController?.tabBar.frame = CGRect.zero

或者让tabar在视图之外

self.tabBarController?.tabBar.frame = CGRect(x: -ScreenWidth, y: ScreenHeight, width: 0, height: 0)

查看api的文档 不是很理解 新手一枚 望大牛解惑


5341771F-AC83-4B7B-AC2D-6824924E6BD3.png

你可能感兴趣的:(swift 隐藏tabbar 并且原位置可响应事件)