簡體   English   中英

Swift圖像選擇器不起作用

[英]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

我通過檢查Interaction ”選項下的“ User Interaction Enabled ”以其他方式完成此 User Interaction Enabled ,請參見下圖以供參考

在此處輸入圖片說明

希望對大家有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM