이 코드를 여러 번 보았습니다. 지금도 몇 시간 씩 보이지만 오류가 있습니다. 내가있는 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)
}
self.view에서 작동하지만 imageView에서 작동하지 않습니다. –
사용자 상호 작용을 설정하여 'profileImage'를 활성화하고 다시 시도하십시오. –
감사합니다. @MikeAlter :) 그게 내가 누락 된 간단한 것임을 알았습니다. 대단히 감사합니다! ;) –