2016-10-11 3 views
-2

私はApple docsで与えられたものと同じコードを書いていましたが、写真をクリックすると写真ライブラリが表示されません。タップジェスチャー認識機能が動作していない可能性があります。UITapGestureRecogniserが動作しません

import UIKit 

class ViewController: UIViewController, UITextFieldDelegate,UIImagePickerControllerDelegate,UINavigationControllerDelegate { 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     nameTextField.delegate = self 
    } 

    // MARK: Properties 
    @IBOutlet weak var nameTextField: UITextField! 
    @IBOutlet weak var nameLabel: UILabel! 
    @IBOutlet weak var photoImageView: UIImageView! 

    //MARK: Actions 
    @IBAction func setDefaultLabelText(sender: UIButton) { 
     nameLabel.text = "default" 
    } 
    @IBAction func selectImageFromPhotoLibrary(sender: UITapGestureRecognizer) { 

      // Hide the keyboard. 
      nameTextField.resignFirstResponder() 

      // UIImagePickerController is a view controller that lets a user pick media from their photo library. 
      let imagePickerController = UIImagePickerController() 

      // Only allow photos to be picked, not taken. 
      imagePickerController.sourceType = UIImagePickerControllerSourceType.PhotoLibrary 

      // Make sure ViewController is notified when the user picks an image. 
      imagePickerController.delegate = self 

      presentViewController(imagePickerController, animated: true, completion: nil) 
    } 

    func imagePickerControllerDidCancel(picker: UIImagePickerController) { 
     // Dismiss the picker if the user canceled. 
     dismissViewControllerAnimated(true, completion: nil) 
    } 
    func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) { 
     // The info dictionary contains multiple representations of the image, and this uses the original. 
     let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage 

     // Set photoImageView to display the selected image. 
     photoImageView.image = selectedImage 

     // Dismiss the picker. 
     dismissViewControllerAnimated(true, completion: nil) 
    } 

    //MARK: UITextFieldDelegate 
    func textFieldShouldReturn(textField: UITextField) -> Bool { 
     textField.resignFirstResponder() 
     return true 
    } 

    func textFieldDidEndEditing(textField: UITextField) { 
     nameLabel.text = textField.text 
    } 

} 
+0

ジェスチャーを追加した場所で、そのコードを表示できます –

+3

問題を実際に説明する質問タイトルが表示されます。 「緊急」のような言葉は避けてください。ここでうまく受信できません。 viewDidLoad(FUNC –

+0

大丈夫申し訳ありませんが、これは宣言 –

答えて

0

チェックかつてあなたはそれがfalseで、デフォルトでは、あなたのImageViewのためのuserInteractionプロパティを有効にしている、我々は手動で有効にする必要があり、例えば

override func viewDidLoad(){ 
{ 
    super.viewDidLoad() 

    let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:Selector("imageTapped:")) 
    photoImageView.userInteractionEnabled = true 
    photoImageView.addGestureRecognizer(tapGestureRecognizer) 
} 

通話に

photoImageView.userInteractionEnabled = true 

好きですあなたのメソッドのように

func imageTapped(img: AnyObject) 
{ 
    // Your action 
} 
+0

エラー・メッセージ」であるあなたは、エラーメッセージにITは、私はこれをしなかった働いた –

+0

@ShalinGadhaviを期待し、私の最初の時間 –

+0

THANKSを表示することができます。 userInteractionEnabled = true } –

関連する問題