UITabbar在iPad和iPhone上出现Chang

问题描述 投票:1回答:1

我通过故事板向我的视图控制器添加了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

ios swift autolayout uitabbar uitabbaritem
1个回答
4
投票

创建UITabBar类,并从Storyboard中提供TabBar类

class TabBar: UITabBar {

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

        return UITraitCollection(horizontalSizeClass: .compact)
    }
}

希望能帮助到你

© www.soinside.com 2019 - 2024. All rights reserved.