por inicio home flotante desactivar control como boton assistive iphone uinavigationcontroller

inicio - como desactivar el boton home del iphone



¿Cómo agrego un botón al lado derecho de mi navigationController después de presionar otro controlador de vista? (2)

Entonces, inmediatamente después de empujar un controlador de vista a mi tableView,

// Override to support row selection in the table view. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { // Navigation logic may go here -- // for example, create and push another view controller. AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil]; [self.navigationController pushViewController:anotherViewController animated:YES];

Ok, entonces hace que se abra otra vista y puede volver a la vista anterior ("pop" la vista actual) haciendo clic en el botón que aparece automáticamente en la esquina superior izquierda de la barra de navegación ahora.

Ok, entonces DIGA que quiero llenar el LADO DERECHO de la barra de navegación con un botón HECHO, como en la aplicación "Notas" que viene con el iPhone. ¿Como podría hacerlo?

Intenté un código como este:

UIBarButtonItem * doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector( doneFunc ) ]; self.navigationController.navigationItem.rightBarButtonItem = doneButton ; // not it.. [doneButton release] ;

doneFunc está definido, y todo, solo el botón nunca aparece en el lado derecho.


AH. Tu tienes que hacer:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil]; [self.navigationController pushViewController:anotherViewController animated:YES]; UIBarButtonItem * doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector( doneFunc ) ]; anotherViewController.navigationItem.rightBarButtonItem = doneButton ; [doneButton release] ; }

Who''da thunk.


El código que publicaste debería funcionar bien, creo. La pregunta es, ¿dónde lo pones? Lo pondría en el método -viewDidLoad del controlador de vista al que está presionando. Si necesita botones diferentes según el contenido que muestra, puede hacerlo en el método -viewWillAppear: .

Actualización : en realidad, creo que debes cambiar

self.navigationController.navigationItem.rightBarButtonItem = doneButton;

a

self.navigationItem.rightBarButtonItem = doneButton;