UISplitViewController - 防止 iPhone 6 plus 上的横向分割

2024-01-07

我在我的应用程序中使用 UISplitViewController 。这在 iPad 上工作得很好,主要和次要始终可见,并且在大多数 iPhone 上工作得很好,它的作用类似于 UINavigationController。

在 iPhone 6+ 和 6S+ 上,分屏视图的作用就像纵向的 iPhone 和横向的 iPad。这种景观的分裂给我带来了问题,我想避免它。

有什么方法可以阻止 UISplitViewController 在 iPhone 6+ 横向显示主要和辅助控制器吗?我只是想让它显示辅助控制器,就像其他 iPhone 一样。

Thanks.


我能够通过子类化 UISplitViewController 然后覆盖特征集合以在设备不是 iPad 时返回紧凑的水平尺寸类来做到这一点。我知道现在检查界面惯用语是一种失礼行为,但我不知道还能怎么做。

我只是将此方法添加到我的 UISplitViewController 子类中:

-(UITraitCollection *)traitCollection {
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
        return [super traitCollection];
    } else {
        return [UITraitCollection traitCollectionWithHorizontalSizeClass:UIUserInterfaceSizeClassCompact];
    }
}

当然欢迎任何有关更好方法的建议。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UISplitViewController - 防止 iPhone 6 plus 上的横向分割 的相关文章

随机推荐