Apresentar corretamente a tela de login condicional na inicialização do aplicativo com storyboards e controladores de visualização dividida?
Isso parece que deve ser simples, mas está provando ter muitas nuances desafiadoras - e não encontrei uma resposta em outro lugar no Stack Overflow que responda de forma completa, clara e simples.
Resumindo: eu tenho um aplicativo para iPad que usa storyboards para criar o layout do fluxo de aplicativos e um controlador de visualização dividida como o controlador principal de visualização de raiz.
Esse aplicativo verifica na inicialização se há credenciais de login armazenadas e, se forem, vai diretamente para a interface do usuário e, caso contrário, apresenta uma página de login em tela inteira.
O desafio, entretanto - onde esta verificação condicional deve ser feita, e como a tela de login deve ser instanciada?
Eu tentei todas as permutações em que posso pensar.
No aplicativo, o delegado parece ser o lugar óbvio, mas chamar segues ou popups modais parece ser ignorado porque as visualizações do storyboard ainda não estão ativas.
Nos métodos de lançamento para o controlador de detalhe da visão dividida parece o próximo lugar óbvio.
O mais próximo da solução de trabalho que posso encontrar é descrito aqui:https://stackoverflow.com/a/8224389/529774
<code>- (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"Login"]; [vc setModalPresentationStyle:UIModalPresentationFullScreen]; [self presentModalViewController:vc animated:NO]; } </code>
Mas com essa implementação, chamada pelo controlador de exibição de detalhes da vista dividida, a vista dividida subjacente pisca brevemente na tela.
Se eu mudar de viewDidAppear para viewWillAppear, não há flash - mas a visualização de login acaba desenhando no retrato mesmo se a tela for girada para paisagem.
Como eu disse - esse tipo de exibição de login condicional parece ser comum e fácil, mas não consigo encontrar um exemplo simples de trabalho em qualquer lugar que combine uma visualização dividida, storyboards, reconhecimento de rotação e que impeça a interface do usuário de piscar.
Alguma dica? Ponteiros para bons exemplos de trabalho?