Tengo un UINavigationController que se empuja un DetailsViewController. En este DetailsViewController, quiero usar la barra de herramientas que viene con cada UINavigationController (al menos, desde iPhone OS3.0).UIToolbar elementos que no muestran
Así, en viewDidLoad en mi DetailsViewController creo un UIBarButtonItem, lo agrego a una matriz y se lo entrego a otro controlador de navegación:
- (void) viewDidLoad {
UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemBookmarks target:self action:@selector(selectTemplate)];
NSArray *items = [NSArray arrayWithObject: item];
TestUIAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
UINavigationController *navController = delegate.navigationController;
[navController setToolbarItems: items animated:NO];
[navController setToolbarHidden: NO animated: YES];
}
Pero, por alguna razón, mientras que el UIToolbar está animado de para pantalla, el elemento no se agrega a la barra de herramientas.
¿Hay algún tipo de cosas de orden específicos tienen que ser hecho con el UIToolbar para que esto funcione?
P.S .: la aplicación está en modo horizontal (forzado) y el navigationController.view tiene una rotación transformar en él. ¿Podría eso tener algo que ver con eso?
comentario corto - que la asignación UIBarButtonItem parece que va a conseguir filtrado. Probablemente deberías configurarlo para su liberación automática. –
Oh, cierto. Pero NSArray lo conserva, así que podría simplemente lanzar _item_ después de agregarlo a la matriz, ¿no? – NSSec
Hice un -1 en este cos porque lo que hizo le permitió mostrarlo para ese controlador de vista, no sigue todos los controladores de vista posteriores durante la vida útil de la navegación ... que es lo que la mayoría de las barras de herramientas suelen hacer. – Jann