我已通过故事板向我的视图控制器添加了tabbar控件, 有以下约束..
因为我需要所选项目的选择指标图像,我在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中它完美无缺。
无法识别问题..
答案 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)
}
}
希望有所帮助