我已通过故事板向我的视图控制器添加了标签栏控件,
有以下限制
ios - iPad和iPhone中的UITabbar Appearance Chang-LMLPHP

因为我需要选定项目的选择指示器图像,所以我在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中,用户界面变得难看,
正如您在下图中所看到的,登录名和注册文本未对齐中心,指示器也将uittbar项目左侧的空间放在了左侧,但在iphone中它完美地工作了。

无法找出问题所在。

ios - iPad和iPhone中的UITabbar Appearance Chang-LMLPHP

最佳答案

设置UITabBar的类,并从情节提要

class TabBar: UITabBar {

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

        return UITraitCollection(horizontalSizeClass: .compact)
    }
}
给出选项卡栏的类
希望能帮助到你

关于ios - iPad和iPhone中的UITabbar Appearance Chang,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49106441/

10-11 16:48