2016-07-14 1 views
2

私はこのコードを今でも数時間見ていますが、今でも1時間はエラーがあります。 :(スウィフトイメージピッカーが動作しない

ありプロジェクト、すべてで示すエラーなしのコンパイルエラーがありませんが、私はちょうど私がUIImageを押すと、何も起こらなかった、画像を選択することはできません。署名するとき

は「サインアップビュー・コントローラ」に類似したコードを持っています

また、この「ProfileTableViewController」では、すべてが非常によく表示され、Firebase上に保存された画像がロードされ、プロファイルビュー内に表示されます。それを選んで変更することはできません。

他のすべてはtesteですd、変更して保存した(ユーザー名またはEメール)、画像のみが問題を引き起こします。コードを見て、私が間違っていることを教えてください。

ありがとうございました。

import UIKit 

class ProfileTableViewController: UITableViewController, UINavigationControllerDelegate, UIImagePickerControllerDelegate { 

@IBOutlet weak var profileImage: UIImageView! 
@IBOutlet weak var username: UITextField! 
@IBOutlet weak var email: UILabel! 

override func viewDidLoad() { 
    super.viewDidLoad() 

    self.title = "Edit Profile" 
    let tap = UITapGestureRecognizer(target: self, action: #selector(ProfileTableViewController.selectPhoto(_:))) 
    tap.numberOfTapsRequired = 1 
    profileImage.addGestureRecognizer(tap) 
    profileImage.layer.cornerRadius = profileImage.frame.size.height/2 
    profileImage.clipsToBounds = true 

    if let user = DataService.dataService.currentUser { 
     username.text = user.displayName 
     email.text = user.email 
     if user.photoURL != nil { 
      if let data = NSData(contentsOfURL: user.photoURL!) { 
       self.profileImage!.image = UIImage.init(data: data) 
     } 
    } 
} else { 
     // No user is signed in 

    } 
} 
func selectPhoto(tap: UITapGestureRecognizer) { 
    let imagePicker = UIImagePickerController() 
    imagePicker.delegate = self 
    imagePicker.allowsEditing = true 
    if UIImagePickerController.isSourceTypeAvailable(.Camera) { 
     imagePicker.sourceType = .Camera 
    } else { 
     imagePicker.sourceType = .PhotoLibrary 
    } 
    self.presentViewController(imagePicker, animated: true, completion: nil) 

} 

// UIImagePicker Delegate 

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) { 
    profileImage.image = image 
    dismissViewControllerAnimated(true, completion: nil) 
}  
+0

self.viewでは動作しますが、画像では動作しません。表示 –

+1

あなたの 'profileImage'にユーザインタラクションを有効にしてからもう一度やり直してください。 –

+0

ありがとう@MikeAlter :)私はそれが何かシンプルであることを知っていました。感謝万円! ;) –

答えて

0

あなたはUIImageViewのユーザーとの対話を有効にする必要があり、ジェスチャー認識追加した後、これを試してみてください、画像の下に

profileImage.userInteractionEnabled = true 
+0

これはどのように違いがありますか? – penatheboss

+0

@penatheboss試しましたか? UIImageViewのuserInteractionEnabledプロパティはデフォルトではfalseで、trueに変更しない限りジェスチャに応答しません。 –

+1

これを下落させた者は誰でも下降声の理由を正当化できますか?私にとってこれは正当な可能性のように聞こえる。時には私たちはこれらの単純なものを忘れる傾向があります – Happiehappie

0

を私は「Interaction」オプションの下User Interaction Enabledをチェックことにより、他の方法でそれをやっ見ます参考のために

enter image description here

は、それがanyboを助けるホープdy