2016-07-14 6 views
2

이 코드를 여러 번 보았습니다. 지금도 몇 시간 씩 보이지만 오류가 있습니다. 내가있는 UIImage를 누를 때 :(스위프트 이미지 선택기가 작동하지 않습니다.

가 오류가 전혀 보여주는 오류 컴파일 프로젝트, 없다,하지만 난 그냥 이미지를 선택할 수없는, 아무 일도하지 않습니다.

는 "가입보기 컨트롤러"에서 유사한 코드를 가지고 서명 할 때 (선택) 이미지를 선택 (선택) 할 수 있으며 이미지가 Firebase에 제대로 저장됩니다.

또한이 "ProfileTableViewController"에서는 모든 것이 잘 표시되고 Firebase의 저장된 이미지가로드되어 프로필보기에 표시됩니다. , 그것을 선택할 수는 없습니다. (눌러서) 그것을 선택하고 변경하십시오.

다른 모든 것은 teste입니다. d, 변경 및 저장 (사용자 이름 또는 전자 메일), 오직 이미지만으로 문제가 발생합니다. 코드를보고 내가 뭘 잘못하고 있는지 말해 줄 수 있니?

감사합니다.

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에서 작동하지만 imageView에서 작동하지 않습니다. –

+1

사용자 상호 작용을 설정하여 'profileImage'를 활성화하고 다시 시도하십시오. –

+0

감사합니다. @MikeAlter :) 그게 내가 누락 된 간단한 것임을 알았습니다. 대단히 감사합니다! ;) –

답변

0

당신은있는 UIImageView에 사용자 상호 작용을 활성화해야, 제스처 인식기 추가 한 후이 시도 : 이미지 아래에

profileImage.userInteractionEnabled = true 
+0

그리고 이것이 어떻게 달라질 것인가? – penatheboss

+0

@penatheboss 시도해 보셨습니까? UIImageView의 userInteractionEnabled 속성은 기본적으로 false이며, true로 변경하지 않으면 모든 제스처에 응답하지 않습니다. –

+1

누가 이것을 downvote downvote에 대한 이유를 정당화 할 수 있습니까? 나에게 이것은 합법적 인 가능성처럼 들린다. 때때로 우리는이 간단한 것들을 잊어 버리는 경향이 있습니다 – Happiehappie

0

을 내가 "Interaction"옵션에서User Interaction Enabled 확인 에 의해 다른 방식으로 그것을했다 참조 참조

enter image description here

는 anybo 도움 희망 dy

관련 문제