Nis*_*shi 3 uitabbarcontroller uitabbar ios
我想在我的项目中添加第6个标签栏.当我为此尝试时,我会获得更多选项,但是当我点击更多选项卡时,没有任何反应.为我提供这个以及任何其他逻辑的良好解决方案.
从iOS 9(可能还有8个)开始,有一种简单的方法可以做到这一点.我不建议使用这个技巧运送应用程序 - 六个标签在4s或5上相当狭窄 - 但它很好知道.
请注意,iPad标签栏可以有五个以上的标签,没有"更多"项目.
Apple决定"平板电脑与否"的新方式?是大小等级.
所以,子类UITabBarController和实现:
-(UITraitCollection *)traitCollection
{
UITraitCollection
*realTraits = [super traitCollection],
*lieTrait = [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassRegular];
return [UITraitCollection traitCollectionWithTraitsFromCollections:@[realTraits, lieTrait]];
}
Run Code Online (Sandbox Code Playgroud)
添加六个子视图控制器,瞧!在这种情况下,看起来苹果实践了他们所宣扬的内容!
(*请注意,这也将取决于选项卡中视图控制器的水平尺寸类.您可能希望- setOverrideTraitCollection:forChildViewController:在适当的时候调用,可能是覆盖setViewControllers:,以"覆盖"他们的特征集合回到真实的集合.这样他们就不会感到困惑,并试图展示其布局的不适当的广泛变体.)
快速子类化UITabBarController并实现:
override var traitCollection: UITraitCollection {
let realTraits = super.traitCollection
let lieTrait = UITraitCollection.init(horizontalSizeClass: .regular)
return UITraitCollection(traitsFrom: [realTraits, lieTrait])
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |