Si yo uso
NGViewController *ngView = [[NGViewController alloc]initWithNibName:Nil bundle:Nil];
[self presentViewController:ngView animated:NO completion:nil];
El código de arriba del controlador irá a la página NGViewController.
Pero si uso este controlador de navegación
NGViewController *ngView = [[NGViewController alloc]initWithNibName:Nil bundle:Nil];
[self.navigationController pushViewController:ngView animated:YES];
El controlador estará en la misma página.
¿Alguien puede decir que cuál es el problema.
Respuestas
2 para la respuesta № 1Debes usar este código
NGViewController *ngView = [[NGViewController alloc]initWithNibName:Nil bundle:Nil];
[self presentViewController:ngView animated:NO completion:nil];
después de escribir esta línea cuando, entonces, desea ir a una página diferente con el controlador de vista de inserción
UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:ngView];
[self.navigationController pushViewController:navigationController animated:YES];
Espero que resuelvan este problema con este código. Buena suerte.
1 para la respuesta № 2
Tu self.navigationController
es probable nil
- Echa un vistazo a través de la depuración. Tu self
ver controlador no está dentro de una UINavigationController
.
1 para la respuesta № 3
Ahora estoy usando este código
NGViewController *ngView = [[NGViewController alloc]initWithNibName:Nil bundle:Nil];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration: 0.50];
[self presentViewController:ngView animated:NO completion:nil];
para que diera otro efecto igual
1 para la respuesta № 4
El autocontrolador debe tener un controlador de navegación (en Storyboard) para poder navegar.
[self.navigationController pushViewController:nextController animated:YES];
0 para la respuesta № 5
UINavigationController
es un controller of controllers
y está diseñado para permitirle push and pop controllers
y administre una jerarquía de sus vistas y su navigationController
propiedad le dice si su NGViewController
se encuentra actualmente en un UINavigationController"s
jerarquía; Si no (como en este caso), el navigationController
devoluciones de propiedad nil
.
0 para la respuesta № 6
Tiene que crear su propio controlador de navegación y luego intentar empujar los controladores de vista y, por lo tanto, construir una jerarquía de vistas. Normalmente sugeriría esto:
UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:firstviewController];
[self.window setRootViewController:navigationController];
navigationController.delegate = self;
navigationController.navigationBarHidden = YES;
-2 para la respuesta № 7
Necesitas declarar esto en tu primer controlador.
NGViewController *ngView = [[NGViewController alloc]init];
[self.navigationController pushViewController:ngView animated:YES];