iOS 8: переход с UINavigationController на UISplitViewController, плохая анимация

Я пытаюсь оживить переход от UINavigationController к UISplitViewController, но контроллер разделенного представления не рисует правильно, пока анимация не закончена. Панели навигации прозрачны, а их заголовки расположены неправильно. Когда анимация заканчивается, они прыгают в "правильное" место. я использую

-transitionFromViewController:toViewController:duration:options:animations:completion

UISplitViewController имеет UINavigationControllers как для своего хозяина, так и для деталей. По мере перехода внутрь панель навигации становится темно-серой, а заголовок смещен слишком высоко. Как только анимация заканчивается, панель быстро меняет цвет на светло-серый, и заголовок переходит на правильное место. Вот пример кода:

// Master and its nav
UIViewController *master = [[UIViewController alloc] init];
master.title = @"master";
UINavigationController *masterNav = [[UINavigationController alloc] initWithRootViewController:master];
masterNav.toolbarHidden = NO;

// Detail and its nav
UIViewController *detail = [[UIViewController alloc] init];
detail.title = @"detail";
UINavigationController *detailNav = [[UINavigationController alloc] initWithRootViewController:detail];

// Split
UISplitViewController *splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = @[ masterNav, detailNav ];

// Now transition
UIViewController *from = [self.childViewControllers lastObject];
[self addChildViewController:splitViewController];
NSTimeInterval duration = 1.0;
UIViewAnimationOptions options = UIViewAnimationOptionTransitionCrossDissolve;
[self transitionFromViewController:from
                  toViewController:splitViewController
                          duration:duration
                           options:options
                        animations:^{}
                        completion:^(BOOL finished) {
                            [splitViewController didMoveToParentViewController:self];
                        }];

0 ответов

Другие вопросы по тегам