Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.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 Swift imagePickerController未调用_Ios_Swift_Uiimagepickercontroller - Fatal编程技术网

IOS Swift imagePickerController未调用

IOS Swift imagePickerController未调用,ios,swift,uiimagepickercontroller,Ios,Swift,Uiimagepickercontroller,如果触摸按钮打印a和b并弹出照片库 但选择Photo not callimagePickerController 选择照片后不执行任何操作 如何在swift 4中使用imagepicker?从委托方法中删除@objc,并且委托方法是这样的,因此用以下方法替换您的函数: class MyPage: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate { var imagePicke

如果触摸按钮打印a和b并弹出照片库

但选择Photo not call
imagePickerController

选择照片后不执行任何操作


如何在swift 4中使用imagepicker?

委托
方法中删除
@objc
,并且
委托
方法是这样的,因此用以下方法替换您的函数:

class MyPage: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {

    var imagePicker = UIImagePickerController()
    @IBOutlet weak var selectImage: UIButton!

    override func viewDidLoad() {
        imagePicker.sourceType = .photoLibrary
        imagePicker.delegate = self
    }



   @IBAction func selectImage(_ sender: Any) {
            print("a")
            if UIImagePickerController.isSourceTypeAvailable(.photoLibrary){
                print("b")
                imagePicker.allowsEditing = false
                imagePicker.mediaTypes = UIImagePickerController.availableMediaTypes(for: .photoLibrary)!
                self.present(imagePicker, animated: true,completion: nil)
            }
    @objc func imagePickerController(picker: UIImagePickerController!, didFinishPickingImage image: UIImage!, editingInfo: NSDictionary!){
            self.dismiss(animated: true, completion: { () -> Void in
                print("dismiss")
            })

            print(image)
            selectImage.setImage(image, for: .normal)
        }
}
并使用以下方法获取图像:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any])
类ViewController:UIViewController、UIImagePickerControllerDelegate、UINavigationControllerDelegate{

import UIKit

}

只有代码的答案是不受欢迎的。请在您的答案中说明问题所在以及答案如何解决问题。
import UIKit
let imageView = UIImageView()
let imagepicker = UIImagePickerController()
override func viewDidLoad() {
    super.viewDidLoad()
    self.imagepicker.delegate = self
    imageView.frame = CGRect(x: 40, y: 150, width: 100, height: 100)
    self.view.addSubview(imageView)
}

@IBAction func uploadImage(_ sender : UIButton) {
    imagepicker.cameraDevice = .rear
    imagepicker.cameraCaptureMode = .photo
    imagepicker.sourceType = .photoLibrary
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    guard let image = info[UIImagePickerControllerOriginalImage] as? UIImage else {
        return
    }
    imageView.image = image
    print(image)
}

func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    self.dismiss(animated: true, completion: nil)
}