I'm trying to present a UIImagePickerController from an image and it's not working. I enable user interaction, but i still can't seem to get it working.
let cameraIconImageView: UIImageView = {
let image = UIImageView()
image.image = UIImage(named: "camera_icon")?.withRenderingMode(.alwaysTemplate)
image.tintColor = UIColor(r: 255, g: 122, b: 124, a: 1 )
image.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectProfileImage)))
image.layer.borderWidth = 2
image.layer.borderColor = UIColor(r: 255, g: 122, b: 124, a: 1 ).cgColor
image.layer.cornerRadius = 20
image.isUserInteractionEnabled = true
image.clipsToBounds = true
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()
@objc func handleSelectProfileImage() {
let picker = UIImagePickerController()
present(picker, animated: true, completion: nil)
print(123)
picker.delegate = self
picker.allowsEditing = true
present(picker, animated: true, completion: nil)
}
lazy var cameraIconImageView: UIImageView = {
let image = UIImageView()
image.image = UIImage(named: "camera_icon")?.withRenderingMode(.alwaysTemplate)
image.tintColor = UIColor(r: 255, g: 122, b: 124, a: 1 )
image.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectProfileImage)))
image.layer.borderWidth = 2
image.layer.borderColor = UIColor(r: 255, g: 122, b: 124, a: 1 ).cgColor
image.layer.cornerRadius = 20
image.isUserInteractionEnabled = true
image.clipsToBounds = true
image.translatesAutoresizingMaskIntoConstraints = false
return image
}()
Use lazy in Imageview initialization.