iPad和iPhone上的UITabbar外观张

时间:2018-03-05 08:44:51

标签: ios swift autolayout uitabbar uitabbaritem

我已通过故事板向我的视图控制器添加了tabbar控件, 有以下约束.. enter image description here

因为我需要所选项目的选择指标图像,我在viewDidLayoutSubviews方法中使用以下代码

override func viewDidLayoutSubviews(){
super.viewDidLayoutSubviews();
viewForTab.setShadow(shadowColor: UIColor.gray.cgColor, shadowOffset:CGSize.init(width: 0.0, height: 3.0), shadowOpacity: 0.8, shadowRadius: 3.0)

tabBar.selectionIndicatorImage = APPDELEGATE.getImageWithColorPosition(color: UIColor.themeSectionBackgroundColor, size: CGSize.init(width: viewForTab.frame.width/2, height: viewForTab.frame.height ), lineSize: CGSize.init(width: viewForTab.frame.width/2, height: 1.5))

}

它在iPhone中获得完美效果但在ipad中ui变丑, 正如您在下面的图片中看到的那样,登录和注册文本未对齐中心,并且指示器还将uitabbar项目的空间从左侧放置,但在iphone中它完美无缺。

无法识别问题..

enter image description here

1 个答案:

答案 0 :(得分:4)

制作UITabBar类并从Stroyboard中提供UITabBar类

class TabBar: UITabBar {

    override var traitCollection: UITraitCollection {
        guard UIDevice.current.userInterfaceIdiom == .pad else {
            return super.traitCollection
        }

        return UITraitCollection(horizontalSizeClass: .compact)
    }
}

希望有所帮助