Tenho um aplicativo universal e, na versão para iPad, estou usando UISplitViewController
para criar uma interface semelhante ao aplicativo Mail.
Eu estava tendo problemas para enviar novas visualizações de detalhes, então decidi usar um UINavigationController
para que eu pudesse simplesmente empurrar e abrir as visualizações conforme necessário. No entanto, não desejo usar a visualização de navegação ou uma barra de ferramentas. Mas não importa o que eu faça, não consigo ocultar a barra de navegação.
Eu tentei desmarcar "Mostra a barra de navegação" no IB e também tentei definir:
[self.navigationController setNavigationBarHidden:YES];
no viewDidLoad
/ viewDidAppear
/ viewWillAppear
. Eu também tentei em cada uma das visualizações que serão enviadas. Nada funciona.
Há algo que estou perdendo aqui? É possível ter um UINavigationController
sem uma barra de ferramentas ou barra de navegação?
fonte
self
é uma instância?Respostas:
Você deve ser capaz de fazer o seguinte:
onde self.navigationController é (obviamente) uma instância de UINavigationController. Parece funcionar para mim, mas eu apenas testei brevemente antes de postar isso.
fonte
- (void)viewWillAppear:(BOOL)animated { self.navigationController.navigationBar.hidden = YES; }
e funcionaSe você não quiser uma barra de navegação e quiser que o conteúdo seja ajustado até onde a barra de navegação normalmente estaria, você deve usar
Isso dá a você um resultado como este:
Considerando que
self.navigationController.navigationBar.hidden = YES;
dá a você um espaço onde a barra de navegação deveria estar. Como isso:fonte
No Xcode 4.3.2:
Na categoria Navigation Controller, você tem duas caixas de seleção:
[] Mostra a Barra de Navegação
[] Mostra a Barra de Ferramentas
Funcionou para mim ...
fonte
Swift 4
Eu escondo isso em view; WillAppear
Em seguida, você pode colocá-lo de volta ao pressionar uma segue (se quiser ter o botão Voltar na próxima visualização)
fonte
Swift 3 programaticamente
ou
Observação: não vi diferença entre essas duas abordagens de teste no iOS 10.
fonte
Todas essas respostas ainda deixam um espaço na parte superior para a barra de status - adicione esta linha para removê-la também:
fonte