gpt4 book ai didi

ios - 在完成之前关闭 ImagePicker

转载 作者:行者123 更新时间:2023-11-28 06:53:28 25 4
gpt4 key购买 nike

我在 Swift 中使用 ImagePickerSheetController。我的代码看起来像这样

 controller.addAction(ImagePickerAction(title: NSLocalizedString("Take Photo", comment: "Action Title"), secondaryTitle: NSLocalizedString("Use this photo", comment: "Action Title"), handler: { _ in

presentImagePickerController(.Camera)

}, secondaryHandler:
{ _, numberOfPhotos in

self.getAssetThumbnail(self.controller.selectedImageAssets.last!)
self.performImageRecognition(scaledImage)
}))

我的问题是:ImagePicker 在用户选择图片 10 秒后消失,这让人觉得应用已卡住。原因是第二种方法performImageRecognition使用了OCR所以需要一段时间。

我想在函数完成之前关闭 Controller ,但我该怎么做呢?我可以只添加一个 ActivityIndi​​cator,但我更喜欢关闭 imagePickerController。

有人知道如何做到这一点吗?

感谢任何帮助,谢谢!

最佳答案

由于您的 OCR 方法是一项繁重的任务 - 它应该在 pick 完成后调用。一行接一行并不能保证这一点,因为操作系统是在纳米级执行的。为什么不实现 UIImagePickerController 的委托(delegate)方法?因此,您可以将您的代码放在 didFinishPickingMediaWithInfo 上并在那里执行 OCR 操作,并自己关闭选择器。例如:

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
if let pickedImg = info[UIImagePickerControllerOriginalImage] as? UIImage
{
// use your pickedImg
}

dismissViewControllerAnimated(true, completion: nil)

// do your OCR stuff here...}

不要忘记 picker.delegate = self

祝你好运

关于ios - 在完成之前关闭 ImagePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34315719/

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