模态翻转动画后UINavigationBar的高度会发生变化

Koo*_*nga 7 objective-c ios ios7

我注意到当我转向Naviagtion控制器时,导航栏在翻转动画完成后稍微跳转.

它只在我使用翻转水平segue时执行此操作,而不是在我使用默认的上滑动画时.

这是我用来说明问题的GIF(抱歉这个小尺寸!):

http://i.imgflip.com/3ym0y.gif

记下标题为"模态"的导航栏 - 注意它在动画后向下跳~20个像素.

上面的例子是用一个新项目创建的 - 我没有细分UINavigationController或UINavigationBar.这是故事板,如果它有帮助:

http://i.imgur.com/qFlK2oB.jpg

我错过了什么?

dev*_*vid 20

将其添加到viewWillAppear您以模态方式呈现的控制器中:

- (void)viewWillAppear:(BOOL)animated
{
    // Workaround #1 for jumpy navbar
    [self.navigationController.navigationBar.layer removeAllAnimations];
}
Run Code Online (Sandbox Code Playgroud)

当解雇控制器时(所以在与上面相同的控制器中):

// Workaround #2 for jumpy navbar
[UIView transitionWithView:self.navigationController.view
                  duration:0.75
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                animations:nil
                completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];
Run Code Online (Sandbox Code Playgroud)

请参阅/sf/answers/1348589091/