gpt4 book ai didi

ios - 有没有办法将 segue 操作延迟到用户通过他们的照片库选择图像或拍照之后? swift

转载 作者:行者123 更新时间:2023-11-29 01:05:51 25 4
gpt4 key购买 nike

我对编程相当陌生,我有两个按钮,一个是相机,另一个是选择现有照片。我可以使用相机按钮访问相机功能,并尝试在另一个 View Controller 中的 UIImage 上显示我拍摄的图像。我的代码给我一个错误,无法在拍摄快照之前渲染快照。我认为这是因为我还尝试使用该按钮作为segue 来显示新的 View Controller 。有没有办法延迟 Segue 操作,直到用户通过照片库选择图像或拍照后?

@IBAction 函数相机(发送者:AnyObject){

    let picker = UIImagePickerController()

picker.delegate = self
picker.sourceType = .Camera

presentViewController(picker, animated: true, completion: nil)

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
self.performSegueWithIdentifier("Show", sender: self)


func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!)
{
if segue.identifier == "Show" {
imageDisplay.image = info[UIImagePickerControllerOriginalImage] as? UIImage
dismissViewControllerAnimated(true, completion: nil)
}
}
}

这是我的按钮代码。 imageDisplay 是我为 ImageView 创建的图像导出,为了让此代码识别它,我将 ImageDisplayViewController 设为主 ViewController 的父类(super class)。

这是我收到的错误。
对尚未渲染的 View 进行快照会产生空快照。确保您的 View 在快照之前或屏幕更新后的快照之前至少已渲染一次。

最佳答案

不要将 segue from button 分配给 ViewController。将 ViewController 的 segue 分配给 ViewController。现在,当您从相机拍摄照片时,您将被重定向回 didfinishpicking 委托(delegate)方法,在此方法中执行 self.performSegueWithIdentifer 并从 prepareforsegue 中选择您的 Controller 。假设您的 segue 名称是 show。

我已经为你重写了代码。假设您的第二个 VC 是 displayImageVC。在那里创建一个属性作为 UIImage 类型的 showImage。然后在 prepareforsegue 中传递捕获的图像。

var capturedImage = UIImage?
let picker = UIImagePickerController() picker.delegate = self picker.sourceType = .Camera presentViewController(picker, animated: true, completion: nil)

func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
self.capturedImage = info[UIImagePickerControllerOriginalImage] as? UIImage
self.performSegueWithIdentifier("Show", sender: self)
}

func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "Show" {
let displayImageVC = segue.destination as displayImageVC
displayImageVC.showImage = self.capturedImage
}
}

关于ios - 有没有办法将 segue 操作延迟到用户通过他们的照片库选择图像或拍照之后? swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36379078/

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