Swift: no se puede agregar el button a la barra de navigation de ABPersonViewController

Me he dado count de que si tengo un UIViewController en un UINavigationController , algo así como:

 let vc = UIViewController() let nav = UINavigationController() nav.viewControllers = [vc] self.presentViewController(nav, animated: true, completion: nil) 

Al agregar un button, la barra de navigation es tan fácil como: vc.navigationItem.leftBarButtonItem = ...

Sin embargo, si el controller de vista es del tipo ABPersonViewController , así:

 let person = ABPersonViewController() person.personViewDelegate = self person.displayedPerson = info let nav = UINavigationController() nav.viewControllers = [person] self.presentViewController(nav, animated: true, completion: nil) 

No puedo agregar un button a la barra de navigation de la misma manera; person.navigationItem.leftBarButtonItem = ... , como parece que se hace aquí , no hace nada.

¿Hay, entonces, una manera de agregar un button a la barra de navigation de un ABPersonViewController ?

No puede agregar un button en ABPersonViewController. Incluso si puede agregar, Apple lo rechazará. Lo que puede hacer es hacer una vista personalizada como ABPersonViewController y cambiar lo que desee. (Mi opinión personal es que ABPersonViewController está bien y no debería tener problemas para vivir con él).

Su mejor opción es simplemente crear un file View Controller para su ABPersonViewController y configurar el button normalmente en viewDidLoad .

es decir:

self.navigationItem.leftBarButtonItem = menuButton

Puede agregar el button a la barra de forma no progtwigda al agregar un elemento de navigation a la vista y luego agregar un elemento del button de barra.