使用代码在拆分视图控制器中显示 UITableView

Posted

技术标签:

【中文标题】使用代码在拆分视图控制器中显示 UITableView【英文标题】:Display a UITableView in a Split View Controller using code 【发布时间】:2014-01-28 08:06:23 【问题描述】:

我有两个不同的UITableView 和两个Navigation Controller。 我想在第一个表中触摸UIButton 后显示其中一个。 在 iPhone 中,我使用以下代码

SecondNavigationController second = [SecondNavigationController new];
[self presentModalViewController:second animated:YES];

注意first是第一个TableViewController;第二个navigation controller 它自己启动一个UITableView 并在ViewDidLoad 方法中使用以下代码显示它。

SecondTableViewController *root = [SecondTableViewController new];
[self pushViewController:root animated:NO];

请注意,首先TableView 使用iPhone 中的应用程序根视图控制器来显示它! 而且效果很好。

另一方面,在 iPad 中,我使用splitViewController,它在左侧屏幕上显示第一个表格视图。

我也想在左侧显示第二个TableView。但是上面的代码不能完美运行。它覆盖了整个 iPad 屏幕。

如何显示第二个UITableView

【问题讨论】:

【参考方案1】:

您需要进行条件检查(伪代码):

If iPhone
    Run current logic
Else
    Create a second view controller and push to self.navigationController

【讨论】:

推送视图控制器导致它显示全屏。我需要将它显示在拆分视图控制器的左侧! 推送,不存在。推入主导航控制器

以上是关于使用代码在拆分视图控制器中显示 UITableView的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS 拆分视图控制器上推送新的视图控制器

在代码中模拟分割视图控制器的显示模式按钮项

拆分视图控制器仅显示一个视图(Xcode 6)

添加为子视图的 NSView 不显示

在拆分视图中模态关闭 MWPhotoBrowser 视图控制器

Swift 故事板:拆分视图控制器在 MacOS 上未正确显示