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 16 更新版本时,我们听到了困扰 Apple...
欧版/美版 特别说一下,美版选错了 可能会永久丧失4G,不过只...
一般在接外包的时候, 通常第三方需要安装你的app进行测...
前言为了让更多的人永远记住12月13日,各大厂都在这一天将应...