ios – UINavigationBar的高度在模态翻转动画后发生变化

前端之家收集整理的这篇文章主要介绍了ios – UINavigationBar的高度在模态翻转动画后发生变化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到当我转向Naviagtion控制器时,导航栏在翻转动画完成后稍微跳转.

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

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

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

记下带有标题“Modal”的导航栏 – 注意它在动画后向下跳~20个像素.

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

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

我错过了什么?

解决方法

将此添加到您以模态方式呈现的控制器中的viewWillAppear:
- (void)viewWillAppear:(BOOL)animated
{
    // Workaround #1 for jumpy navbar
    [self.navigationController.navigationBar.layer removeAllAnimations];
}

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

// Workaround #2 for jumpy navbar
[UIView transitionWithView:self.navigationController.view
                  duration:0.75
                   options:UIViewAnimationOptionTransitionFlipFromLeft
                animations:nil
                completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];

https://stackoverflow.com/a/19265558/254603

猜你在找的iOS相关文章