2015-12-19 1 views
0

Я пытаюсь получить изображения из библиотеки фотографий, но у меня есть проблема. У меня есть 3 разных ImageViews. И 3 разных жестов касания на этих изображениях. Мне нужно выбрать разные фотографии и показать их пользователям.UIImagePickerController с ImageView

Что мне делать?

ответ

0
  • Добавить 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 проверило

Надеется, что это может помочь

+0

спасибо за reply.How я могу определить currentImageView вы можете помочь –

+0

currentImageView является UIImageView вы можете определить в глобальном масштабе. так что вы можете использовать его в любом месте. – truongky