Правильно ли отображать экран условного входа в систему при запуске приложения с раскадровками и контроллерами с разделенным видом?
Похоже, что все должно быть просто, но в нем много сложных нюансов, и я не нашел ответа где-либо еще о переполнении стека, который бы отвечал на этот вопрос полностью, четко и просто.
В двух словах - у меня есть приложение для iPad, которое использует раскадровки для компоновки потока приложения, и контроллер с разделенным представлением в качестве основного контроллера корневого представления.
Это приложение при запуске проверяет, сохранены ли учетные данные для входа, и если они есть, оно сразу переходит к пользовательскому интерфейсу, а если нет, оно отображает полноэкранную страницу входа.
Проблема, однако, - где должна быть сделана эта условная проверка и как должен быть создан экран входа в систему?
Я перепробовал каждую перестановку, которую только мог придумать.
В приложении делегат кажется очевидным местом, но вызов сегментов или модальных всплывающих окон, похоже, игнорируется, поскольку представления из раскадровки еще не активны.
В методах запуска для детального контроллера разделенного представления кажется следующее очевидное место.
Ближайшее к рабочему решению, которое я могу найти, описано здесь:https: //stackoverflow.com/a/8224389/52977
<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>
Но с этой реализацией, вызываемой контроллером детального вида разделенного вида, базовый разделенный вид кратковременно мигает на экране.
Если я переключаюсь с viewDidAppear на viewWillAppear, вспышки нет, но при входе в систему изображение отображается в портретной ориентации, даже если экран повернут в горизонтальную плоскость.
Как я уже сказал - такой вид условного входа в систему выглядит так, как будто он должен быть простым и простым, но я просто не могу найти ни одного простого рабочего примера, который бы совмещал разделенное представление, раскадровки, распознавание поворотов и не мешал вспыхивать пользовательскому интерфейсу. .
Какие-нибудь советы? Указатели на хорошие рабочие примеры?