Question

When I use ECSlidingviewController dismissing to last of controller return to top controller instead of parent;

My Controllers order like this in storyboard ;

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

There is no problem until presenting CommentViewController after this it returns to InitialViewController

LOGS: 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)

There is a problem in this line:
presenting = InitialViewController: 0xb34ad70
it should be
MovieDetailViewController: 0xb3c15c0

Was it helpful?

Solution

Finally I figured out, if you give a UINavigationController after InitialViewController ECSliding does not work correctly. UINavigatonController must be root of all UIViewController.

This is wrong:

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

This is right:

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top