Модальное представление после запуска приложения не появляется - PullRequest
0 голосов
/ 13 января 2012

Прежде чем пользователи смогут использовать мое приложение, необходимо войти в систему. Моя идея заключалась в том, что после запуска приложения вид входа в систему отображается модально.

До iOS 5 все это работало с файлами .xib. Теперь я хочу преобразовать представления в раскадровку для обзора и лучшего использования новых функций.

Приложение работает с контроллером splitview. Проблема в том, что окно входа в систему загружается, но никогда не появляется.

Я попробовал это в делегате приложения и создал класс для splitviewcontroller и попытался загрузить его в viewDidLoad.

Код:

- (void)viewDidLoad
{
    [super viewDidLoad];

    //load and push login
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    LoginViewController *loginViewController = [storyboard instantiateViewControllerWithIdentifier:@"loginViewController"];

    NSLog(@"login push: %@", loginViewController);
    [self presentModalViewController:loginViewController animated:YES];
    NSLog(@"done push");
}

Вход:

2012-01-13 10:18:08.217 App[1101:707] login push: <LoginViewController: 0x472fe0>
2012-01-13 10:18:08.330 App[1101:707] done push

Я попытался загрузить его в режиме Root или detail, он работает, но не в нужном месте, и xcode выдает сообщение:

2012-01-13 10:18:08.807 App[1101:707] Unbalanced calls to begin/end appearance transitions for <MainSplitViewController: 0x464bc0>.

Моя первая идея - начать с входа в систему и после входа нажать контроллер splitview. Но я обнаружил, что контроллер splitview должен быть корневым представлением.

1 Ответ

3 голосов
/ 13 января 2012

Нажать еще один ViewController в viewDidLoad очень рано. Возможно, текущий ViewController представлен с анимацией, и вы пытаетесь представить другой ViewController с анимацией ...

Вы должны попробовать переместить дисплей вашего LoginController для просмотраDidAppear ...

...