UINavigationController não aparece no controlador de visualização modal
-
21-12-2019 - |
Pergunta
Estou exibindo programaticamente um controlador de visualização modal quando o usuário pressiona um botão no controlador de visualização principal.O problema que tenho é que a visualização modal é exibida sem a barra de navegação.
Como eu poderia fazer a barra aparecer?Por favor, encontre meu código e deixe-me saber o que está faltando ou errado:
-(void)appInfoButtonPressed:(id)sender {
infoViewController *iVC=[[infoViewController alloc] init];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
[self presentViewController:iVC animated:YES completion:nil];
UINavigationController *navBar = [[UINavigationController alloc] initWithRootViewController:iVC];
[self presentViewController:navBar animated:YES completion:nil];
}
Também na tentativa de dispensar a visão modal tenho a intenção de utilizar a linha abaixo:
[self dismissViewControllerAnimated:YES completion:nil];
Devo incluir esta linha em um método do controlador de visualização principal ou em um método do próprio controlador de visualização modal?
Solução
Excluir [self presentViewController:iVC animado:YES conclusão:nil];Apenas para apresentar o UINavigationController.
Por falar nisso:Não é adequado nomear um UINavigationController com "navBar".
-(void)appInfoButtonPressed:(id)sender {
infoViewController *iVC=[[infoViewController alloc] init];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:iVC];
[self presentViewController:navController animated:YES completion:nil];
}