iOS 11:带有不透明导航栏的导航控制器内带有滚动视图的弹出视图控制器在转换期间导致奇怪的内容动画

Posted

技术标签:

【中文标题】iOS 11:带有不透明导航栏的导航控制器内带有滚动视图的弹出视图控制器在转换期间导致奇怪的内容动画【英文标题】:iOS 11: Pop view controller with scrollView inside navigation controller with opaque navbar result in weird content animation during transition 【发布时间】:2017-09-25 03:43:17 【问题描述】:

带有滚动视图的弹出视图控制器在带有不透明导航栏的导航控制器内导致过渡期间的奇怪内容动画

在过渡过程中,内容将低于其原始位置,交互式弹出将使这一点非常明显。

启用安全区域并不能解决此问题。

【问题讨论】:

【参考方案1】:

我相信这是 ios 11 中的一个错误。 这是一个关于它的信息: http://openradar.appspot.com/34465226

您可以通过检查情节提要中的Extend Edges: Under Opaque Bars 框或在代码中手动设置[self setExtendedLayoutIncludesOpaqueBars:YES] 来解决此问题。

【讨论】:

这非常有用,谢谢。不幸的是,我发现如果我还包含[self setEdgeForExtendedLayout = UIRectEdgeNone];,动画错误就会回来。 请注意:这应该在 11.2 中修复,请参阅:***.com/a/47046282/6863743

以上是关于iOS 11:带有不透明导航栏的导航控制器内带有滚动视图的弹出视图控制器在转换期间导致奇怪的内容动画的主要内容,如果未能解决你的问题,请参考以下文章

带有透明导航栏的可见按钮

iOS 11.2 - 在带有大标题的导航栏中时,搜索控制器栏背景清晰

带有半透明导航栏的滚动条

带有静态导航栏的 UINavigationController

ios导航栏半透明设置为NO改变底部UICollectionView的高度

标签栏控制器内的导航控制器不显示标题