Tengo un controlador de uinavigation. Después de iniciar sesión quiero eliminar viewcontrollers como RegisterViewController, LoginViewController, etc. de UInavigationcontroller stack ..¿Cómo eliminar un controlador de vista específico de la pila uinavigationcontroller?
Quiero decir que tengo que eliminar un controlador de vista particular de la pila? Como es posible. ?
comprobado que este post
para que podamos tomar en una matriz como
NSArray *allviewcontrollers= [(UINavigationController *)navigationController viewControllers];
Pero cómo hacerlo aún más el proceso .. Esta pregunta me es la caza de mucho tiempo. .Por favor, respóndeme. Gracias de antemano
Gracias por responderme. Pero tengo dudas en la segunda sesión. LoginViewController * loginViewController = [LoginViewController alloc]; [allViewControllers removeObjectIdenticalTo: loginViewController]; Pero no funcionó .. Pero cuando probé [allViewControllers removeObjectAtIndex: 0]; funcionó. Quiero algo así que hayas respondido. también probé [allViewControllers removeObjectIdenticalTo: @ "LoginViewController"]; Pero no funcionó. Por favor aclarame Gracias ... –
Tenía algunas dudas sobre cómo eliminar la vista particular ... Y publico una pregunta para eso y obtuve la respuesta. http://stackoverflow.com/questions/2100450/how-to- check-a-uiviewcontroller-is-present-in-uinavigationcontroller-stack/2101034 # 2101034 –
En algún lugar de su código creó, digamos, el LoginViewController con + alloc y -initWithNibName: bundle :. Ese podría ser su delegado de aplicación, no sé cómo está diseñada su aplicación. De todos modos, para eliminar de manera confiable el controlador, debe mantener una referencia (por ejemplo, como un ivar en el delegado de su aplicación). El "eliminadoViewController" en el fragmento de arriba es solo esa referencia. Sí, puede atravesar la matriz de controladores de vista buscando el controlador de una clase en particular. Pero, ¿qué pasa si un día tendrá dos o tres de ellos mientras extiende su aplicación? Mis 2 centavos. – Costique