gpt4 book ai didi

ios - UIViewController 到 UIImagePickerController 到其他 UIViewController

转载 作者:行者123 更新时间:2023-11-29 03:18:59 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,用户应该能够在其中创建包含多张照片的对象。

现在我有两个 ViewController:A 和 B。 View Controller A 显示所有已创建对象的列表和一个用于切换到 View Controller B 的按钮。 View Controller B 负责创建新对象。它由一个 CollectionView 和一个按钮组成,前者显示已为该对象拍摄的所有照片,后者启动 UIImagePickerController 来拍摄新照片。

用例:

  1. 在 ViewController A 中,用户点击按钮创建一个新对象
  2. ViewController B 加载时 Collection View 中没有照片。
  3. 用户必须单击 ViewController B 中的按钮才能加载 UIImagePickerController。
  4. 用户拍照,返回到 ViewController B
  5. 用户可以再拍摄一张照片。

我想合并第 2 步和第 3 步。即

  1. 用户点击 ViewController A 中的按钮
  2. UIImagePickerController 已加载
  3. 用户拍照,返回ViewController B

此刻,我在 ViewController B 的 viewDidAppear 中启动 UIImagePickerController,但首先出现的是 ViewController B,然后是 UIImagePickerController。

编辑:我正在使用 Storyboard来完成这一切。ViewController A 在导航 Controller 中,ViewController B 在另一个导航 Controller 中,我使用模态 Storyboard转场进行转换。

最佳答案

如果您将图像选择器呈现为模态视图,我的想法是在您的 View Controller B 上编写一个方法,在任意 View Controller 上呈现图像选择器 Controller 。例如:-(void)presentImagePickerFromViewController:(UIViewController *)vc completion:(void (^)(void))completion。在您的 View Controller A 中,实例化一个 View Controller B 对象,并在其上调用此方法,为 View Controller 传递 self。在完成 block 中,现在在没有动画的情况下在导航堆栈上显示 View Controller B。这样,您的 View Controller B 直接从图像选择器获取信息,将所有图像代码封装在 View Controller B 中,并让您在完成选择器后直接转到 View Controller B。

另一方面,如果您在导航堆栈上显示图像选择器,您可能可以从 UINavigationControllerDelegate 之一调用导航 Controller 上的 setViewControllers:animated: 方法 回调。我自己没有对此进行测试,但我相信这种方法允许您将 View Controller 插入导航堆栈。

希望这对您有所帮助!

关于ios - UIViewController 到 UIImagePickerController 到其他 UIViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21353649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com