我正在开发一个iOS应用程序,用户应该能够创建有多张照片的对象。
现在,我有两个ViewControllers: a和B。视图控制器A显示所有已创建对象的列表,并显示一个按钮以切换到查看控制器B。视图控制器B负责创建新对象。它由一个CollectionView (显示为该对象拍摄的所有照片)和一个按钮(启动一个UIImagePickerController以获取新照片)组成。
用例:
我想把第二步和第三步结合起来。
现在,我在viewDidAppear of ViewController B中启动了ViewController B,但是先出现了ViewController B,然后是UIImagePickerController。
编辑:我正在使用一个故事板来做这一切。ViewController A在一个导航控制器中,ViewController B在另一个导航控制器中,我正在使用一个模态故事板来进行转换。
发布于 2014-01-25 18:40:25
如果您将图像选择器表示为模态视图,我的想法是在视图控制器B上编写一个方法,该方法在任意视图控制器上显示图像选择器控制器。例如:-(void)presentImagePickerFromViewController:(UIViewController *)vc completion:(void (^)(void))completion。在您的View中,实例化一个View对象,并在它上调用此方法以传递视图控制器的self。在完成块中,现在显示导航堆栈上没有动画的。通过这种方式,您的View直接从图像选择器获取信息,封装视图控制器B中的所有图像代码,并让您在选择器完成后直接进入View。
另一方面,如果您在导航堆栈上显示图像选择器,则可以从一个setViewControllers:animated:回调调用导航控制器上的UINavigationControllerDelegate方法。我自己还没有测试过它,但是我相信这个方法允许您将视图控制器插入到导航堆栈中。
希望这能有所帮助!
https://stackoverflow.com/questions/21353649
复制相似问题