这是我的设置:
导航控制器:ViewcontrollerA - > ViewControllerB
ViewcontrollerB显示imagePickerController,将其自身设置为Delegate
如果用户从UIImagePicker点击CANCEL,我就完全解除了ViewControllerB,将用户弹回ViewControllerA。
在:
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker
我打过电话:
[self dismissViewControllerAnimated:YES completion:nil];
和
[[self parentViewController] dismissViewControllerAnimated:YES completion:nil];
和
[[[self parentViewController] parentViewController] dismissViewControllerAnimated:YES completion:nil];
没有运气,ViewControllerB仍然存在。
如何以编程方式完全解除B?
答案 0 :(得分:2)
ViewControllerA是通过导航控制器推送ViewControllerB还是ViewControllerB?听起来好像被推了。在这种情况下,我会尝试
[[self navigationController] popViewControllerAnimated:YES];
为清晰起见编辑:
您确实希望以您已有的方式关闭图像选择器。您想使用popViewControllerAnimated
来摆脱ViewControllerB。
答案 1 :(得分:0)
呈现视图控制器负责解除视图 它呈现的控制器。如果在显示的视图上调用此方法 控制器本身,它会自动将消息转发给 呈现视图控制器。
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];