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
your selected application is other than the navigation based application means
-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 ofUINavigationController
.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
.