
相同的代碼在另一個視圖控制器中完美運行。幫我解決這個問題。這是代碼....
import UIKit
import Firebase
class SettingTableViewController: UITableViewController, UIImagePickerControllerDelegate & UINavigationControllerDelegate {
@IBOutlet weak var profileImgView: UIImageView!
@IBOutlet weak var usernameTexfield: UITextField!
@IBOutlet weak var emailTextfield: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
navigationItem.title = "Edit Profile"
fetchCurrentUser()
}
func fetchCurrentUser() {
Api.User.observeCurrentUser { (user) in
self.usernameTexfield.text = user.username
self.emailTextfield.text = user.email
if let profileUrl = URL(string: user.profileImageUrl!) {
self.profileImgView.sd_setImage(with: profileUrl)
}
}
}
@IBAction func SaveButton_TouchUpInside(_ sender: Any) {
if let profileImg = self.profileImgView, let imageData = profileImg.jpegData(compressionQuality: 0.1) {
AuthService.updateUserInfo(username: usernameTexfield.text!, email: emailTextfield.text!, imageData: imageData, onSuccess: {
ProgressHUD.showSuccess("Success")
}, one rror: { (errorMaessage) in
ProgressHUD.showError(errorMaessage)
})
}
}
@IBAction func LogOutButton_TouchUpinside(_ sender: Any) {
}
@IBAction func EditProfileBtn_TouchUpInside(_ sender: Any) {
let pickercontroller = UIImagePickerController()
pickercontroller.delegate = self
present(pickercontroller, animated: true, completion: nil)
}
}
extension SettingTableViewController {
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
print("did finish picking media")
if let image = info["UIImagePickerControllerOrignalImage"]
as? UIImage{
profileImgView.image = image
}
dismiss(animated: true, completion: nil)
}
}
uj5u.com熱心網友回復:
確保直接使用not 的image屬性。profileImgViewprofileImgView
所以替換這一行
if let profileImg = self.profileImgView, let imageData = profileImg.jpegData(compressionQuality: 0.1) {
有了這個
if let profileImg = self.profileImgView.image, let imageData = profileImg.jpegData(compressionQuality: 0.1) {
uj5u.com熱心網友回復:
您只是將profileImgView設定為profileImg。您必須設定profileImageView.image才能正常作業。
在保存按鈕操作中試試這個代碼:
@IBAction func SaveButton_TouchUpInside(_ sender: Any) {
if let profileImg = self.profileImgView.image, let imageData = profileImg.jpegData(compressionQuality: 0.1) {
AuthService.updateUserInfo(username: usernameTexfield.text!, email: emailTextfield.text!, imageData: imageData, onSuccess: {
ProgressHUD.showSuccess("Success")
}, one rror: { (errorMaessage) in
ProgressHUD.showError(errorMaessage)
})
}
}
希望這有效。
uj5u.com熱心網友回復:
這確實有效。
@M.Ali @TaimoorArif 使用影像屬性構建成功后,你們能不能檢查一下編輯組態檔按鈕的代碼,為什么影像沒有上傳。我想我缺少一些東西。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/402365.html
標籤:
