2016-06-15 4 views
0

Я использую MZFormSheetPresentationController, чтобы показать как «всплывающее окно» ViewController2 (встроенный в контроллер навигации, как предлагается) через ViewController1.View over view breaks hierarchical

Мои ViewController1 имеет SearchBar, а UISegmentedControl и TableView:

Image1

Когда пользователь нажимает на кнопку SearchBar закладки, всплывающее окно, как показано.

Image2

Я хотел бы, чтобы закрыть всплывающее окно, когда пользователь нажимает на кнопку Готово и он прекрасно работает с использованием self.dismissViewControllerAnimated (правда, завершение: ноль) метод, но я ищу Больше. Я бы хотел снова представить ViewController1, чтобы tableView перезагрузил данные. Я попытался с:

self.dismissViewControllerAnimated(true, completion: nil) 
     print("Dismissed") 

     //goToTickets 
     let next = self.storyboard?.instantiateViewControllerWithIdentifier("myTabBar") as! UITabBarController 
     self.presentViewController(next, animated: true, completion: nil) 

, но я получаю эту ошибку:

Warning: Attempt to present on whose view is not in the window hierarchy!

Всплывающие исчезает, но я не могу представить ViewController.

Как я могу это сделать?

Заранее спасибо.

Редактировать

Это мой ViewController2 с идентификатором "navigationFilter"

Image4

и мой TabBar:

Image5

ответ

1

Когда вы находитесь в середине увольнения вы пытаетесь представить ne х ViewController, вы должны ждать обработчика завершения, а затем представить следующий контроллер представления, как это:

self.dismissViewControllerAnimated(true, completion: { 
    let next = self.storyboard?.instantiateViewControllerWithIdentifier("myTabBar") as! UITabBarController 
    self.presentViewController(next, animated: true, completion: nil) 
}) 
+0

Я пытался, но я все еще получаю ошибку, я написал этот код в viewController2 – Jigen

+0

У вас есть проблема где-то в вашей иерархии представлений, MZFormSheetPresentationController работает так же, как и обычный модальный контроллер представления, поэтому вы должны попытаться использовать обычную презентацию, а затем использовать MZFormSheetPresentationController. – mientus

+0

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

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

  • Нет связанных вопросов^_^