[英]Swift image picker not working
我已经看过几次该代码,即使现在是一个小时,但我仍然可以找到错误。 :(
没有错误编译项目,完全没有错误显示,但是我无法选择图像,当我按下UIImage时,什么也没发生。
注册成功后,在“ signUp View Controller”中有类似的代码,您可以选择(拾取)图像,并将图像正确保存在Firebase上。
此外,在此“ ProfileTableViewController”中,一切都显示得很好,Firebase中保存的图像已加载并显示在Profile View内,但无法选择(按一下)来选择和更改它。
其他所有内容都经过测试,更改和保存(用户名或电子邮件),只有图像给我带来了问题。 您能看一下代码,然后告诉我我做错了什么吗?
谢谢。
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)
}
您需要在UIImageView上启用用户交互,请在添加手势识别器后尝试以下操作:
profileImage.userInteractionEnabled = true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.