2016-11-20 1 views
0

J'ai créé une application de travail en utilisant le storyboard Master-Detail, puis j'ai décidé de déplacer la recherche vers une nouvelle page avant la page de vue de table.Structure recommandée pour ajouter un contrôleur de vue rapide avant le contrôleur de navigation de vue de table

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

Une partie du problème est l'une des structure:

  1. Dois-je avoir un nouveau contrôleur de navigation qui intègre le contrôleur de vue de la recherche? Ou est-ce que le contrôleur de vue de recherche doit être intégré dans le contrôleur de navigation d'origine (vue de table)?

  2. Ou une autre structure?

Comme il est, régler le régulateur de vue de la recherche en tant que contrôleur de vue initial, mais le code est incorrect dans AppDelegate.swift si je reçois une erreur

« Impossible de jeter la valeur de type ' searcher.searchViewController '(0x10bd12dc8) à' UISplitViewController '. "

Je sais qu'il devrait avoir le contrôleur de vue de recherche intégré, mais je ne sais pas comment résoudre ce problème.

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 
} 

Je lis toute la documentation Apple, et plusieurs tutoriels, et un nombre incalculable de questions/réponses sur stackoverflow, et je n'ai pas de problème avec la structure Maître-Détail sans le nouveau contrôleur de vue de la recherche, mais je ne comprends pas assez pour continuer.

Répondre

0

Aucune structure n'est recommandée pour ajouter un contrôleur de vue rapide avant un contrôleur de navigation de vue de table. Comme expliqué dans iOS: UISplitViewController cannot be pushed to UINavigationController, cela ne peut pas être fait.

Je travaille sur une solution différente avec une page de recherche en sous-vue de la vue principale.