如果有人对 Split View Controller 有丰富的经验并且可以帮助我,那将是一个很大的帮助。 我有一个以登录屏幕开头的项目,然后是调用 API 以获取结果的搜索屏幕。在搜索屏幕从 API 调用中获取结果后,我想将它们传递给 splitviewcontroller 进行显示。基本上是 splitviewcontroller 的主人,它有表格 View 。那么该怎么做呢?当从 splitviewcontroller 到 master 的 segue 没有任何标识符时,我不知道如何使用 performsegue? 那么是否可以将 splitviewcontroller 用作您的第三或第四屏幕? 有没有其他方法可以实现这一目标?
谢谢。
最佳答案
每个 UIViewController
都有一个名为 splitViewController
的属性。这是一个可选
值,它可能是也可能不是nil
,具体取决于您是否使用UISplitViewController
。 splitViewController
属性将允许您访问 Split View Controller 嵌入的 View Controller 。
UISplitViewController
有两个主要组件,即主视图 Controller 和详细 View Controller 。在 iPad 上,master 位于屏幕左侧,占用空间最少,detail 将占据屏幕右侧的较大区域.在 iPhone 上,两者将在导航堆栈中彼此叠加,并且都将占据整个屏幕。
这是从 master 访问细节的方法:
if let splitVC = self.splitViewController, let detailVC = splitVC.viewControllers[1] {
detailVC.doSomething()
}
这是从详细信息访问母版的方法:
if let splitVC = self.splitViewController, let masterVC = splitVC.viewControllers[0] {
masterVC.doSomething()
}
请记住,您可能在 Storyboard中使用 UINavigationController
或 UITabBarController
,其中可能嵌入了主要内容或详细信息。在这种情况下,您可以执行相同的操作,但将这些 View Controller 转换为 UINavigationController
或 UITabBarController
并在它们中向下钻取以检索您真正的主人和细节。
关于iOS Swift 4 - 如何将数据传递给 splitviewcontrollers master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46821680/