在表视图导航控制器

时间:2016-11-20 20:20:16

标签: ios swift appdelegate master-detail

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

Storyboard http://www.photoandgem.com/storyboard.jpg

问题的一部分是结构之一:

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

  2. 或者搜索视图控制器是否应嵌入原始(表格视图)导航控制器中?

  3. 或其他一些结构?

  4. 按原样,我将搜索视图控制器设置为初始视图控制器,但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文档,几个教程,以及stackoverflow上的无数问题/答案,没有新的搜索视图控制器,我对Master-Detail结构没有任何问题,但我还不清楚继续。

1 个答案:

答案 0 :(得分:0)

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

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