iPad 和 iPhone 中的 UITabbar 外观变化

UITabbar Appearance Chang in iPad and iPhone

我已经通过故事板将标签栏控件添加到我的视图控制器中, 有以下限制..

由于我需要ui红色所选项目的选择指示器图像,我在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 变得丑陋, 正如您在下图中看到的,登录和注册文本未对齐中心,并且指示器将 space 从左侧 放置uitabbar 项目,但在 iphone 中,它工作得很好。

无法确定问题..

制作 class 的 UITabBar 并从 Stroyboard

中提供 class 的 UITabBar
class TabBar: UITabBar {

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

        return UITraitCollection(horizontalSizeClass: .compact)
    }
}

希望对您有所帮助