Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 从gallery或camera中选择图像后,UIImage不显示_Ios_Swift_Xcode_Uiimage_Uiimagepickercontroller - Fatal编程技术网

Ios 从gallery或camera中选择图像后,UIImage不显示

Ios 从gallery或camera中选择图像后,UIImage不显示,ios,swift,xcode,uiimage,uiimagepickercontroller,Ios,Swift,Xcode,Uiimage,Uiimagepickercontroller,我正在尝试从照相机或多媒体资料中选择图像,并在图像视图中将所选图像显示在屏幕上。但是它没有显示出来 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { guard let selecte

我正在尝试从照相机或多媒体资料中选择图像,并在图像视图中将所选图像显示在屏幕上。但是它没有显示出来

  func imagePickerController(_ picker: UIImagePickerController,
                               didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {

        guard let selectedImage = info[.originalImage] as? UIImage else {
            fatalError("Expected a dictionary containing an image, but was provided the following: \(info)")
        }

        imageview.image = selectedImage

        dismiss(animated: true, completion: nil)
    }
我错过了什么


在我的情况下,断点函数根本不调用

我以前也遇到过同样的问题,并通过设置图像延迟来解决它,如下所示:

DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
    self.imageview.image = selectedImage
})

希望这会有所帮助。

我以前也遇到过同样的问题,通过设置图像延迟来解决,如下所示:

DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
    self.imageview.image = selectedImage
})

希望这会有所帮助。

确保已将
UIImagePickerController
添加到类中,并已设置
UIImagePickerController
实例委托:

class PickerViewController: UIViewController, UIImagePickerControllerDelegate {
    var pickerController = UIImagePickerController()

    override func viewDidLoad() {
        super.viewDidLoad()
        pickerController.delegate = self
    }
}
另外,最好关闭发送到此委托的
选取器
参数:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    ...

    picker.dismiss(animated: true, completion: nil)
}

确保已将
UIImagePickerController
添加到类中,并已设置
UIImagePickerController
实例委托:

class PickerViewController: UIViewController, UIImagePickerControllerDelegate {
    var pickerController = UIImagePickerController()

    override func viewDidLoad() {
        super.viewDidLoad()
        pickerController.delegate = self
    }
}
另外,最好关闭发送到此委托的
选取器
参数:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    ...

    picker.dismiss(animated: true, completion: nil)
}

如果断点函数不是在调用,那么我认为您没有在viewDidLoad()中设置imagePicker委托


如果断点函数不是在调用,那么我认为您没有在viewDidLoad()中设置imagePicker委托


这是不对的。您建议使用旧参数的委托方法
[String:Any]
。然后他就创造了一个新的amethod@RobertDresler你说得对。但是,问题在于设置委托。我将编辑答案。很抱歉,你建议了good thing
选取器。请解散,我只是没有注意到,因为你没有写下你正在这样做change@RobertDresler看来他在使用<代码>Discover
时没有问题,所以无论如何这都是不必要的。谢谢你。@RobertDresler,又回到答案上来了;-)这是不对的。您建议使用旧参数的委托方法
[String:Any]
。然后他就创造了一个新的amethod@RobertDresler你说得对。但是,问题在于设置委托。我将编辑答案。很抱歉,你建议了good thing
选取器。请解散,我只是没有注意到,因为你没有写下你正在这样做change@RobertDresler看来他在使用<代码>Discover
时没有问题,所以无论如何这都是不必要的。谢谢你。@RobertDresler,又回到答案上来了;-)