I want to know what is the different of them.
when I can call
[self dismissViewControllerAnimated:YES completion:nil];
and when I should call
[self.navigationController popViewControllerAnimated:YES];
according document of apple:
dismissViewControllerAnimated means
"Dismisses the view controller that was presented by the receiver."
But I always fail to dismiss view controller by this method.
your selected application is navigation based application means
[self.navigationController popViewControllerAnimated:YES];
your selected application is other than the navigation based application means
[self dismissViewControllerAnimated:YES completion:nil];
-dismissViewControllerAnimated:completion:
Used to dismiss an UIViewController
, which was presented by the method:
-presentViewController:animated:completion:
.
-popViewControllerAnimated:
Method of UINavigationController
is used to pop a controller shown by
-pushViewController:animated
method of UINavigationController
.
In the first case the view controller's view shows as a modal controller (usually from bottom to top), and the second case you are pushing a view controller in the navigation stack of UINavigationController
.