我在我的应用程序中使用 UISplitViewController。这在 iPad 上工作得很好,其中主要和次要始终可见,并且在大多数 iPhone 上工作得很好,它就像一个 UINavigationController。
在 iPhone 6+ 和 6S+ 上, Split View在竖屏时像 iPhone,在横屏时像 iPad。这种景观 split 给我带来了问题,我想避免它。
有什么方法可以防止 UISplitViewController 在 iPhone 6+ 横向显示主要和次要 Controller 吗?我只希望它显示辅助 Controller ,就像其他 iPhone 一样。
谢谢。
最佳答案
我能够通过子类化 UISplitViewController 然后覆盖特征集合以在设备不是 iPad 时返回紧凑的水平尺寸类来做到这一点。我知道现在检查界面惯用语是一种失礼,但我不确定还能怎么做。
我只是将这个方法添加到我的 UISplitViewController 子类中:
-(UITraitCollection *)traitCollection {
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
return [super traitCollection];
} else {
return [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassCompact];
}
}
当然欢迎任何关于更好的方法的建议。
关于ios - UISplitViewController - 防止在 iPhone 6 plus 上横向拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37951008/