ECSlidingViewController вызывает ошибку при отклонении UIViewController

Когда я использую ECSlidingviewController, отказ от последнего контроллера возвращается к верхнему контроллеру вместо родительского;

Мои Контроллеры заказывают вот так в раскадровке;

InitialViewController (UIViewController) -> HomeNavigationController (UINavigationController) -> HomeController (UIViewController) -> MovieDetailController (UIViewController) -> CommentViewController (UIViewController)

Нет проблем до представления CommentViewController, после чего он возвращается к InitialViewController

ЛОГИ: MovieDetailController -> CommentViewController:

self = <MovieDetailViewController: 0xb3c15c0>
super = <HomeNavigationViewController: 0xa77c640>
nav_cont = (
"<HomeViewController: 0xa77c930>",
"<MovieDetailViewController: 0xb3c15c0>")

CommentViewController viewDidLoad:

self = <CommentViewController: 0x137154e0>
super = (null)
presenting = <InitialViewController: 0xb34ad70>
nav_cont = (null)

В этой строке есть проблема:
представляя = InitialViewController: 0xb34ad70
так должно быть
MovieDetailViewController: 0xb3c15c0

1 ответ

Решение

Наконец, я понял, если вы дадите UINavigationController после того, как InitialViewController ECSliding не работает правильно. UINavigatonController должен быть корнем всех UIViewController.

Это не верно:

InitialViewController (UIViewController) -> HomeNavigationController (UINavigationController) -> HomeController (UIViewController) -> MovieDetailController (UIViewController) -> CommentViewController (UIViewController)

Это правильно:

HomeNavigationController (UINavigationController) -> InitialViewController (UIViewController) -> HomeController (UIViewController) -> MovieDetailController (UIViewController) -> CommentViewController (UIViewController)

Другие вопросы по тегам