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?

Foi útil?

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];
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top