为什么UITabbarController太低了

时间:2019-05-24 18:32:02

标签: ios

screenshot with menu and tabs

我已使用/cardsUICollectionview在顶部项目中实现了视图,以获取类似于页面标签的Android。

每个菜单都有一个UIPagecontroller容器,但是其中一个需要ViewController

为什么UITabBarController下降了。

我曾尝试向上移动menuVIew(联系人,近期等),但仍然无法正常工作。

3 个答案:

答案 0 :(得分:0)

对于顶视图,使用 UISegmentedControl ,并设置与边框颜色相同的背景颜色。

对于标签栏,您是说它被主页指示器覆盖了吗?
xCode Screenshot
为此UITabController启用使用安全区域布局指南,您应该一切顺利。

答案 1 :(得分:0)

let tabBar = UITabBar()

override func viewDidLoad() {
    super.viewDidLoad()
    addTabbar()
}
override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()
    addHeightConstraintToTabbar()
}

func addTabbar() -> Void {
    self.view.addSubview(tabBar)
    tabBar.translatesAutoresizingMaskIntoConstraints = false
    tabBar.rightAnchor.constraint(equalTo: self.view.rightAnchor).isActive = true
    tabBar.leftAnchor.constraint(equalTo: self.view.leftAnchor).isActive = true
    tabBar.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
    let item1 = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.bookmarks, tag: 1)
    let item2 = UITabBarItem(tabBarSystemItem: UITabBarSystemItem.contacts, tag: 2)

    tabBar.items = [item1, item2]
    self.view.bringSubview(toFront: tabBar)
}

func addHeightConstraintToTabbar() -> Void {
    let heightConstant:CGFloat = self.view.safeAreaInsets.bottom + 49.0
    tabBar.heightAnchor.constraint(equalToConstant: heightConstant).isActive = true
}

结果: enter image description here

答案 2 :(得分:0)

我以前在iPhone X上遇到过这个问题。我发现了如下奇怪的解决方案:

将底部约束从TabBar更改为“安全区域”而不是“超级”视图,并将约束值更改为1,如下图所示。

enter image description here

这在普通设备和带槽口显示的设备上均适用。查看屏幕截图:

enter image description here

enter image description here

希望这对您有所帮助。