使用Storyboard的UITabBar宽度

时间:2017-12-05 15:18:40

标签: ios interface-builder uitabbar

我希望获得UITabBar的宽度以获得项目的宽度。 为此,我使用:

let itemWidth = tabBar.frame.size.width / tabBar.items.count

然而,我得到的宽度似乎错了......

tabBar.frame.size.width根据预览情况给出了故事板中tabBar的宽度...

换句话说,如果我的故事板预览设置为 iPad Pro 12.9&#34; tabBar.frame.size.width将返回1024.0,即使代码是在< strong> iPhone 5s 。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

执行UITabBar功能后,

layoutSubviews()的尺寸才准确。子类UITabBarController并访问viewDidLayoutSubviews()中标签栏的大小。

class CustomTabBarController: UITabBarController {
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()

        print(tabBar.frame.width) //this will print the actual width
    }
}