- Добавить
UINavigationControllerDelegate, UIImagePickerControllerDelegate
к контроллеру
Функция для создания UITapGesture
func createTapGesture(selectorName: String) -> UITapGestureRecognizer {
return UITapGestureRecognizer(target: self, action: Selector(selectorName))
}
func imageTap(sender: AnyObject) {
currentImageView = sender.view as! UIImageView
pickImage()
}
Показать ImagePickerView
func pickImage() {
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = UIImagePickerControllerSourceType.PhotoLibrary
imagePicker.allowsEditing = false
self.presentViewController(imagePicker, animated: true, completion: nil)
}
func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
dismissViewControllerAnimated(true, completion: nil)
currentImageView.image = image
}
Добавьте эти коды viewDidLoad
firstImageView.addGestureRecognizer(createTapGesture("imageTap:"))
secondImageView.addGestureRecognizer(createTapGesture("imageTap:"))
thirdImageView.addGestureRecognizer(createTapGesture("imageTap:"))
В IB, убедитесь, что ваши изображения просмотреть набор User Interaction Enabled
проверило
Надеется, что это может помочь
спасибо за reply.How я могу определить currentImageView вы можете помочь –
currentImageView является UIImageView вы можете определить в глобальном масштабе. так что вы можете использовать его в любом месте. – truongky