Bisher habe ich versucht, die linke Leiste Button Element zu erzielen, die Sie im folgenden Bild sehen:Place Foto von URL als Navigationsleiste Button-Artikel
ich nicht im Stil codiert haben doch einfach der Grundcode für das Profilbild. Hier ist sie:
let user = FIRAuth.auth()?.currentUser
var profilePicture: UIImageView?
override func viewDidLoad() {
//left bar button item setup
if let profileURL = self.user?.photoURL?.absoluteString {
let profilePictureUrl = NSURL(string: profileURL)
profilePicture?.af_setImage(withURL: profilePictureUrl as! URL)
let barButton = UIBarButtonItem(image: profilePicture?.image, landscapeImagePhone: nil, style: .done, target: self, action: #selector(revealBackClicked))
self.navigationItem.leftBarButtonItem = barButton
}
}
ich mein Foto von Feuerbasis bin Abrufen der folgenden Funktion:
self.user?.photoURL?.absoluteString
ich eine URL erhalte, wie ich es getestet, indem sie in meiner Ausgabe zu drucken. Ich denke jedoch, das Problem ist, wenn ich das Bild in der Variable profilePicture einstelle, denn wenn ich das ausdrucke, erhalte ich null.
Jede Hilfe wäre sehr willkommen!
'photoURL' ist bereits ein' URL'. Warum sollte man seinen 'absolutenString' erzeugen, einen' NSURL' erzeugen (nicht in Swift3 verwenden), und dann auf 'URL' umwandeln? Das sind 3 verschwendete Schritte. – rmaddy
Weil es einen erwarteten Rückgabetyp einer Zeichenfolge hat. –
Was hat einen erwarteten Rückgabetyp einer Zeichenfolge? Tun Sie einfach: 'Wenn ProfilURL = self.user? .photoURL? {profilePicture? .af_setImage (withURL: profileURL) ... 'Keine Notwendigkeit für alle überflüssigen Konvertierungen und Umwandlungen. – rmaddy