Título de barra de navigation multilínea

Estoy intentando establecer la label del título en mi barra de navigation para permitir varias líneas. Tengo un código de control de navigation personalizado en el que estoy colocando el código multilínea. Sé que el código ya funciona, pero mi parte multilínea no funciona.

let titleLabel = UILabel() titleLabel.frame = CGRectMake(0, 0, self.navigationBar.frame.width, self.navigationBar.frame.height * 2) titleLabel.numberOfLines = 0 titleLabel.lineBreakMode = .ByWordWrapping navigationItem.titleView = titleLabel 

Pero el text todavía sale corriendo al final. También he intentado poner esto en el controller de vista individual, agregando self.navigationController?. delante de navigationItem con los mismos resultados.

¿Hay algo que me falte en mi código que evite que la label del título use múltiples líneas?

Aquí hay un ejemplo de código de cómo puede crear un título de barra de navigation multilínea

 let label: UILabel = UILabel(frame: CGRectMake(0, 0, 400, 50)) label.backgroundColor = UIColor.clearColor() label.numberOfLines = 2 label.font = UIFont.boldSystemFontOfSize(16.0) label.textAlignment = .Center label.textColor = UIColor.whiteColor() label.text = "This is a\nmultiline string for the navBar" self.navigationItem.titleView = label 

Swift 3.0:

 let label = UILabel(frame: CGRect(x:0, y:0, width:400, height:50)) label.backgroundColor = .clear label.numberOfLines = 2 label.font = UIFont.boldSystemFont(ofSize: 16.0) label.textAlignment = .center label.textColor = .white label.text = "This is a\nmultiline string for the navBar" self.navigationItem.titleView = label 

Use esto para get la position de la label exactamente como lo desee:

 let labelWidth = navBar.bounds.width - 110 let label = UILabel(frame: CGRect(x:(navBar.bounds.width/2) - (labelWidth/2), y:0, width:labelWidth, height:navBar.bounds.height)) label.backgroundColor = UIColor.clear label.numberOfLines = 0 label.font = UIFont.boldSystemFont(ofSize: 13.0) label.textAlignment = .center label.textColor = UIColor.black label.lineBreakMode = .byWordWrapping label.text = loadedName navBar.topItem?.title = nil navBar.addSubview(label) 

el valor 110 en la línea superior es el espacio que desea en cualquier lado de la label.