2016-11-20 7 views
0

Я создал рабочее приложение, используя раскадровку Master-Detail, а затем решил переместить поиск на новую страницу перед страницей просмотра таблицы.Рекомендуемая структура для добавления контроллера быстрого просмотра до диспетчера навигации в таблице.

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

Часть проблемы является одной из структуры:

  1. Если у меня есть новый контроллер навигации, который встраивает контроллер представления поиска?

  2. Или должен быть встроен контроллер просмотра в исходный (настольный) навигационный контроллер?

  3. Или какая-либо другая структура?

Как есть, я установил контроллер представления поиска в качестве исходного контроллера представления, но код неверен в 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 структурой без нового контроллера зрения поиска, но я не понимаю достаточно для продолжения.

ответ

0

Нет рекомендуемой структуры для добавления контроллера быстрого просмотра перед контроллером навигации в виде таблицы. Как объясняется в iOS: UISplitViewController cannot be pushed to UINavigationController, это невозможно.

Я работаю над другим решением со страницей поиска в качестве подсмотра представления «Мастер».