Ich habe die Antwort von @ Jack oben ausprobiert. Das Logo wurde angezeigt, das Bild nahm jedoch die gesamte Navigationsleiste ein. Ich wollte, dass es passt.
Swift 4, Xcode 9.2
1. Weisen Sie dem Navigationscontroller UIImage einen Wert zu. Passen Sie die Größe an, indem Sie den Rahmen und die Bildgröße teilen.
func addNavBarImage() {
let navController = navigationController!
let image = UIImage(named: "logo-signIn6.png")
let imageView = UIImageView(image: image)
let bannerWidth = navController.navigationBar.frame.size.width
let bannerHeight = navController.navigationBar.frame.size.height
let bannerX = bannerWidth / 2 - (image?.size.width)! / 2
let bannerY = bannerHeight / 2 - (image?.size.height)! / 2
imageView.frame = CGRect(x: bannerX, y: bannerY, width: bannerWidth, height: bannerHeight)
imageView.contentMode = .scaleAspectFit
navigationItem.titleView = imageView
}
Fügen Sie die Funktion direkt unter hinzu viewDidLoad()
addNavBarImage()
Hinweis zum Bildobjekt. Vor dem Hochladen habe ich das Logo mit zusätzlichen Rändern angepasst, anstatt es an den Rändern zu beschneiden.
Endergebnis: