ocultar el segundo ViewController y navegar a Third ViewController
-
25-10-2019 - |
Pregunta
estoy en ViewControllerA
y otra ViewControllerB
también se carga en el ViewController stack.viewControllerB
tiene pantalla de cámara también. De ViewControllerA
estoy llamando ViewControllerB
mediante este siguiente código:
AppNameAppDelegate *appDelegate = (AppNameAppDelegate *)[[UIApplication sharedApplication] delegate];
ViewControllerB *l_ViewControllerB = [appDelegate ViewControllerB];
l_ViewControllerB.view.hidden = NO;
[self.navigationController pushViewController:l_ViewControllerB animated:YES];
Ahora de ViewControllerB
, Quiero cambiar a ViewControllerC
.
self.view.hidden = YES;
ViewControllerC *l_ViewControllerC = [[ViewControllerC alloc] init];
[self.navigationController pushViewController:l_ViewControllerC animated:YES];
[l_ViewControllerC release];
Pero está navegando a ViewControllerA
que no necesito, así que necesito ayuda, cómo navegar ViewControllerC
sin mostrar ViewControllerA
.
ACTUALIZACIÓN: ViewControllerB se define en el archivo ViewControllerB.MM, hay alguna codificación C ++ también está involucrada en el archivo ViewControllerB.MM. Esto hará cualquier diferencia que la vista ViewControllerB se define en ViewControllerB.M o ViewControllerb.mm.
Solución
Por favor, inténtalo este Puede ser útil para usted.
Otros consejos
Debe eliminar estas dos líneas, a menos que haya alguna razón por la que no haya mencionado:
// in ViewControllerA:
l_ViewControllerB.view.hidden = NO;
// in ViewControllerB:
self.view.hidden = YES;
Tal vez mientras navegaba a ViewControllerB
i_nigma SDK está creando un nuevo hilo. Por eso si intentas navegar desde ViewControllerB
A cualquier otra vista que no pueda navegar, excepto para verControllera que ya está visible. Puede intentar realizar la acción en el hilo principal de la interfaz de usuario, de modo que cualquier cambio de interfaz de usuario se refleje en su aplicación UI. Puedes probar performSelectorOnMainThread
como a continuación.
[self performSelectorOnMainThread:@selector(operationComplete) withObject:nil waitUntilDone:false];