Ocultar la barra de navigation FBFriendPickerViewController al presionar el controller UINavigation

Presentar una instancia de FBFriendPickerViewController usando presentViewController:animated:completion: es bastante sencillo y la class parece que está destinada a ese caso de uso. Sin embargo, quiero enviar una instancia de FBFriendPickerViewController a una instancia de UINavigationController usando pushViewController:animated:

Considere el siguiente código como un ejemplo:

 self.fbFriendPickerController = [[FBFriendPickerViewController alloc] init]; self.fbFriendPickerController.hidesBottomBarWhenPushed = YES; // configure stuff [[self navigationController] pushViewController:self.fbFriendPickerController animated:YES]; 

Sin embargo, el problema es que la instancia de FBFriendPickerViewController ya tiene una barra de navigation superior. Cuando se presiona en un UINavigationController , esto da como resultado dos barras de navigation superiores astackdas verticalmente, como puede ver en la siguiente captura de pantalla.

barras de navegación superiores dobles

Una solución sería ocultar la barra de navigation superior del UINavigationController , pero eso crea una transición incómoda y no hay button de retroceso. ¿Alguna idea sobre la mejor manera de mantener la barra de navigation superior de UINavigationController pero ocultar la barra de navigation superior de FBFriendPickerViewController ?

Después de mirar a través del código fuente de Facebook iOS SDK en Github, me di count de esto. FBFriendPickerViewController es una subclass de FBViewController . Si configura las properties doneButton y cancelButton de cualquier FBViewController en nil , FBViewController eliminará la barra de navigation superior. Como resultado, el siguiente código funciona:

 self.fbFriendPickerController = [[FBFriendPickerViewController alloc] init]; self.fbFriendPickerController.hidesBottomBarWhenPushed = YES; self.fbFriendPickerController.doneButton = nil; self.fbFriendPickerController.cancelButton = nil; // configure stuff [[self navigationController] pushViewController:self.fbFriendPickerController animated:YES];