IOS Swift-UITabBar自定义标签栏在栏的开头和结尾留下空白区域

时间:2017-02-15 09:55:55

标签: ios iphone swift tabbar

override func viewWillLayoutSubviews() {
    super.viewWillLayoutSubviews()

    self.tabBar .invalidateIntrinsicContentSize()
    let tabSize: CGFloat = 80

    var tabFrame: CGRect = self.tabBar.frame;
    tabFrame.size.height = tabSize;
    tabFrame.origin.y = self.view.frame.size.height - tabSize;
    self.tabBar.frame = tabFrame;

    self.tabBar.translucent = false;
    self.tabBar.translucent = true;

}

这个代码工作正常是iPhone5,但在更高的屏幕上它留下空白空间。他们是否可以通过任何方式调整所选的选项卡大小以使其更宽或任何其他解决方案。 谢谢! enter image description here

3 个答案:

答案 0 :(得分:0)

if self.view.frame.size.width > 376 {
           // here code for iphone 6 and 7 plus 
}
else if self.view.frame.size.width > 320 && self.view.frame.size.width <= 375 {
     // write code for iphone 6 and 6s and 7
}
else{
       if self.view.frame.size.height <= 232 {
            //write code for iphone 4s 
       }
       else {
           //write code for iphone 5 and 5s

       }
}

其他选项:

let tabSize: CGFloat = self.view.frame.size.width / 4

答案 1 :(得分:0)

您可以像这样设置tabSize:

let tabSize: CGFloat = self.view.frame.size.width / 4

答案 2 :(得分:0)

如果您正在使用自动布局,并且标签栏正在对容器视图使用尾随和前导约束,请尝试将它们设置为相等宽度并水平居中。