Swift: logotipo en la barra de navigation junto con el button Atrás

Quiero tener el logotipo de mi aplicación seguido del nombre de la aplicación en la barra de navigation. Junto con esto, debería haber un button de retroceso.

A continuación se muestra una captura de pantalla:

Captura de pantalla para la pregunta

He probado el siguiente código.

self.navigationItem.setHidesBackButton(false, animated:true); let imgLogo : UIImage = UIImage(named:"Logo")! let imgViewLogo : UIImageView = UIImageView(image: imgLogo) imgViewLogo.frame = CGRectMake(0, 0, 40, 40) let leftItem:UIBarButtonItem = UIBarButtonItem(customView: imgViewLogo) self.navigationItem.leftBarButtonItem = leftItem // App Name set on storyboard at design-time 

Esto coloca el logotipo en la parte superior del button trasero que se muestra a continuación.

Captura de pantalla 2

¿Cómo se puede lograr esto?

Puede usar una vista personalizada para navigationItem.titleView . Cree UIView con su logotipo y una label para el título UIViewController y configure
navigationItem.titleView = YOUR_CUSTOM_VIEW;

En lugar de utilizar .leftBarButtonItem :

 let imgLogo : UIImage = UIImage(named:"Logo")! let imgViewLogo : UIImageView = UIImageView(image: imgLogo) imgViewLogo.frame = CGRectMake(0, 0, 40, 40) let leftItem:UIBarButtonItem = UIBarButtonItem(customView: imgViewLogo) self.navigationItem.leftBarButtonItems?.append(leftItem) 

Se agregará junto con el button de retroceso del sistema introduzca la descripción de la imagen aquí

Puedes encontrar toneladas de ejemplos al respecto.

En este ejemplo, he agregado también un espacio para centrar bien tu logotipo si necesitas:

 let leftButton: UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "Logo")!, style: UIBarButtonItemStyle.Plain, target: self, action:#selector(MyViewController.leftButtonPress(_:))) let negativeSpacer = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.FixedSpace, target: nil, action: nil) negativeSpacer.width = -5.0 // Left inset to better center your logo navigationItem.leftBarButtonItems = [negativeSpacer,leftButton] func leftButtonPress(sender: AnyObject?) { // do whatever you want when you press back button }