在表格视图导航控制器之前添加快速视图控制器的推荐结构

Posted

技术标签:

【中文标题】在表格视图导航控制器之前添加快速视图控制器的推荐结构【英文标题】:Recommended structure to add swift view controller before table view navigation controller 【发布时间】:2016-11-20 20:20:15 【问题描述】:

我使用 Master-Detail 故事板创建了一个工作应用程序,然后决定将搜索移动到表格视图页面之前的新页面。

(来源:photoandgem.com)

部分问题是结构之一:

    我应该有一个嵌入搜索视图控制器的新导航控制器吗?

    还是应该将搜索视图控制器嵌入到原始(表格视图)导航控制器中?

    还是其他结构?

按原样,我将搜索视图控制器设置为初始视图控制器,但 AppDelegate.swift 中的代码不正确,因此出现错误

“无法将 'searcher.searchViewController' (0x10bd12dc8) 类型的值转换为 'UISplitViewController'。”

我知道它应该包含搜索视图控制器,但我不知道如何解决。

 func application(_ application: UIApplication,       didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 
    // Override point for customization after application launch.
    let splitViewController = self.window!.rootViewController as! UISplitViewController
    let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController
    navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem
    splitViewController.delegate = self
    return true

我阅读了所有 Apple 文档、几个教程以及关于 *** 的无数问题/答案,并且没有新的搜索视图控制器,我对 Master-Detail 结构没有任何问题,但我理解的不够深入,无法继续。

【问题讨论】:

【参考方案1】:

没有推荐的结构用于在表格视图导航控制器之前添加快速视图控制器。如ios: UISplitViewController cannot be pushed to UINavigationController 中所述,无法完成。

我正在开发一个不同的解决方案,将搜索页面作为主视图的子视图。

【讨论】:

以上是关于在表格视图导航控制器之前添加快速视图控制器的推荐结构的主要内容,如果未能解决你的问题,请参考以下文章

快速在表格视图中插入单元格

在选项卡式应用程序的导航视图中为表格添加背景图像

使用表格视图快速搜索控制器滚动

在导航中使用视图控制器添加 3D 触摸动态快速操作

快速在表格视图中插入新行时应用程序崩溃?

带表格视图的导航控制器