2016-10-31 5 views
0

Мне нужно показать пользовательское табличное представление в 1 сторону, а деталь в другом - в ipad, как с контроллером splitview. Итак, деталь видна после выбора кнопки на ячейке.Разделите вид контейнера на 2 контроллера в swift

Проблема связана с отображением контроллера детали. Я послал данные от кнопки в Tableview к контроллеру контейнера с помощью метода делегата

let containerController = self.storyboard?.instantiateViewController(withIdentifier: "ContainerController") as! ContainerViewController 
containerController.reactionViewControllerResponse(selectedMechanism: selectedMechanism) 
self.navigationController?.pushViewController(containerController, animated: true) 

и в контейнере, создать контроллер детали через

override func viewWillAppear(_ animated: Bool) { 
    super.viewWillAppear(true) 

    if (selectedMechanism != "" && self.mechanismViewController != nil){ 
     self.mechanismViewController = self.storyboard?.instantiateViewController(withIdentifier: "MechanismController") as! MechanismViewController? 
     self.mechanismViewController?.selectedMechanism = selectedMechanism 

     self.addChildViewController(mechanismViewController!) 
     mechanismViewController?.view.frame = CGRect(x: self.containerView.frame.size.width/2, y: 0, width: self.containerView.frame.size.width/2, height: self.containerView.frame.size.height) 
     self.containerView.addSubview((mechanismViewController?.view)!) 
     mechanismViewController?.didMove(toParentViewController: self) 
    } 
} 

, но из-за этой линии в контроллере Tableview

self.navigationController?.pushViewController(containerController, animated: true) 

контроллер детали не показан в том же контроллере контейнера, но в другом. Я пробовал несколько вещей, но ничего не появляется или в другом контейнере.

Пожалуйста, помогите мне !!!

PS: Я не использую контроллер splitview, так как я не нуждаюсь в нем в качестве контроллера внутреннего зрения, и я уже пробовал и имел проблемы, чтобы отображать только мастер на всем экране, настроить ячейку tableview. ..

ответ

0

Проблема решена, делегат был плохо создан. Спасибо :)

Смежные вопросы