如何为更大的标签栏全局设置底部插图?

时间:2018-08-16 12:44:58

标签: uitableview uitabbarcontroller uitabbar

我有一个需要较大标签栏(高度= 75)的应用程序,但是当我更改标签栏的高度时,安全区域插图不会更改,因此当我对底部边距进行约束时,它不会工作,我的内容由我的标签栏覆盖。另外,UITableView个未设置正确的插图,因此它们无法滚动到底部。

我通过在UITabBarController子类中添加此覆盖的func来设置标签栏的高度:

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()

    var tabbarHeight: CGFloat = 75

    if #available(iOS 11.0, *) {
        if let window = UIApplication.shared.keyWindow {
            tabbarHeight += window.safeAreaInsets.bottom
        }
    }

    var tabFrame = tabBar.frame
    tabFrame.size.height = tabbarHeight
    tabFrame.origin.y = view.frame.size.height - tabbarHeight;
    tabBar.frame = tabFrame;
}

这是正确的方法吗?有更好的方法吗?

0 个答案:

没有答案