单击图像视图后如何正确 select 照片库中的照片?
How to properly select a photo in photo library after clicking on image view?
我试图在单击图像视图后 select 照片库中的照片,但没有任何反应。你能说说哪里出了问题吗?
imgView.isUserInteractionEnabled = true
let gestureRecognizer = UIGestureRecognizer(target: self, action: #selector(changeImage))
imgView.addGestureRecognizer(gestureRecognizer)
@objc func changeImage() {
let imagePicker = UIImagePickerController()
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
present(imagePicker, animated: true, completion: nil)
}
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let image = info[UIImagePickerController.InfoKey(rawValue: "UIImagePickerControllerEditedImage")] as? UIImage {
self.imgView.image = image
}
picker.dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
}
使用 UITapGestureRecognizer 而不是 UIGestureRecognizer。
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(changeImage))
我试图在单击图像视图后 select 照片库中的照片,但没有任何反应。你能说说哪里出了问题吗?
imgView.isUserInteractionEnabled = true
let gestureRecognizer = UIGestureRecognizer(target: self, action: #selector(changeImage))
imgView.addGestureRecognizer(gestureRecognizer)
@objc func changeImage() {
let imagePicker = UIImagePickerController()
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = true
imagePicker.delegate = self
present(imagePicker, animated: true, completion: nil)
}
extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let image = info[UIImagePickerController.InfoKey(rawValue: "UIImagePickerControllerEditedImage")] as? UIImage {
self.imgView.image = image
}
picker.dismiss(animated: true, completion: nil)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
}
使用 UITapGestureRecognizer 而不是 UIGestureRecognizer。
let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(changeImage))