UISplitViewController 的详细视图仅在 iOS8 上采用全屏

Posted

技术标签:

【中文标题】UISplitViewController 的详细视图仅在 iOS8 上采用全屏【英文标题】:The detail view of a UISplitViewController takes full screen only on iOS8 【发布时间】:2014-09-30 14:31:12 【问题描述】:

在我使用新的 SDK (ios 8.0) 编译项目之前,我的 UISplitViewController 运行正常。在某些时候(当调用细节视图控制器的 (void)viewDidAppear:(BOOL)animated 时)细节视图最大化到全屏,覆盖主视图。

我设法通过使用 UISplitViewController 的新 displayMode 属性来修复它:

[self.splitViewController setPreferredDisplayMode:UISplitViewControllerDisplayModeAllVisible];

然而,这个属性只在 iOS8 中受支持,现在我无法为 iOS7 构建。我现在唯一的选择是下载旧的 SDK 吗?

【问题讨论】:

【参考方案1】:

听起来您的应用在 iOS 7.1 上运行良好,所以(很高兴)您只需要在支持它的 iOS 版本中执行该代码。那么呢:

if ([self.splitViewController respondsToSelector:@selector(setPreferredDisplayMode:)]) 
[self.splitViewController setPreferredDisplayMode:UISplitViewControllerDisplayModeAllVisible];

使用新的 SDK 编译,并且能够在新旧 iOS 中运行。然后,您只需要适当地设置您的构建部署目标。

希望这会有所帮助。

【讨论】:

以上是关于UISplitViewController 的详细视图仅在 iOS8 上采用全屏的主要内容,如果未能解决你的问题,请参考以下文章

嵌套详细视图(UISplitViewController)中缺少后退按钮

详细使用 UINavigationController 时的景观 UISplitViewController

UISplitViewController 首先显示详细视图

iOS-如何在 UISplitViewController 详细视图上方添加按钮

UINavigationController 作为 UISplitViewController 的详细视图

UISplitviewcontroller - 主视图和详细视图中的大小类问题