在 iPad 的 splitViewController 中添加 UINavigationController

Posted

技术标签:

【中文标题】在 iPad 的 splitViewController 中添加 UINavigationController【英文标题】:Adding UINavigationController inside splitViewController in iPad 【发布时间】:2013-10-28 05:36:00 【问题描述】:

我使用的是 splitViewController,我的详细视图有一个 navigationController 作为父级。

我是这样添加的

我的应用是通用的。所以我为 iphone 和 ipad 创建了不同的 xib。

_moreOptions = [[MoreOptionsViewController alloc] initWithNibName:@"MoreOptionsViewController" bundle:nil];

_settingsView = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController_iPad" bundle:nil];

UINavigationController *navController = [[UINavigationController alloc]initWithRootViewController:_settingsView];

_moreOptions.settigsView = _settingsView;

self.splitViewController3 = [[UISplitViewController alloc]init];
// self.splitViewController3.title = @"More";
self.splitViewController3.delegate = _settingsView;
self.splitViewController3.viewControllers = @[_moreOptions, navController];

SettingsViewController 里面有 UITableView。所以我面临的问题是,我的细节在 iPad 上没有填满,这是屏幕截图

你可以看到底部的黑斑,这是我关心的问题,

【问题讨论】:

【参考方案1】:

编辑:我想我找到了解决方法,将其应用于 UISplitViewController:

[splitVC setExtendedLayoutIncludesOpaqueBars:YES];

此属性仅适用于 ios 7,似乎可以解决问题。查看UIViewController.h中替换-wantsFullscreenLayout:的方法。


我遇到了同样的问题——如果我在 iOS 5 或 6 上构建,它工作正常,没有差距。会不会是 iOS 7 的错误?如果是这样,这是一个特别不方便的。仍在寻找解决方法。

据我所知,我们正在执行正确的步骤: (请参阅“将导航控制器添加到选项卡栏界面”) https://developer.apple.com/library/ios/documentation/WindowsViews/Conceptual/ViewControllerCatalog/Chapters/CombiningViewControllers.html

【讨论】:

以上是关于在 iPad 的 splitViewController 中添加 UINavigationController的主要内容,如果未能解决你的问题,请参考以下文章

iPad splitViewController 弹出主视图

使用 splitViewController 在 iPad 故事板上出现黑屏

SplitViewController 显示细节 iPad Pro 纵向模式

Ipad SplitViewController 导航到另一个视图

iPad SplitViewController 内存警告导致主视图出现问题

iPad SplitViewController 带有用于详细视图的单独导航堆栈