使用UINavigationController进行iOS7自定义转换

使用UINavigationController进行iOS7自定义转换,第1张

概述我使用iOS7自定义过渡以模态方式呈现新的视图控制器. 新的视图控制器是导航控制器. 控制器从底部开始动画,而背景视图模糊. 我的问题是,新控制器上的导航栏虽然向上动画,但似乎允许状态栏,即它似乎高64点.当它到达最终位置并调用completeTransition时,它意识到不需要状态栏空间并快速回到44点. 有办法吗? >最初通知导航控制器/顶视图控制器不需要状态栏. 要么 >在动画之前调用co 我使用iOS7自定义过渡以模态方式呈现新的视图控制器.

新的视图控制器是导航控制器.

控制器从底部开始动画,而背景视图模糊.

我的问题是,新控制器上的导航栏虽然向上动画,但似乎允许状态栏,即它似乎高64点.当它到达最终位置并调用completeTransition时,它意识到不需要状态栏空间并快速回到44点.

有办法吗?

>最初通知导航控制器/顶视图控制器不需要状态栏.
要么
>在动画之前调用completeTransition正在调用的任何方法,以便随后进行自动重新调整.

动画制作时:

动画完成:

解决方法 诀窍是将显示的视图控制器的视图添加到容器视图后,将其初始位置设置在屏幕底部.这可以防止容器视图认为它位于屏幕顶部并相应地自动布局状态栏.

它与WRESTLING WITH STATUS BARS AND NAVIGATION BARS ON IOS 7有关:

“UINavigationController会将其UINavigationbar的高度改为44点或64点,具体取决于一组相当奇怪且未记录的约束.如果UINavigationController检测到其视图的顶部与UIWindow的顶部在视觉上是连续的,那么它会绘制它的导航栏高度为64点.如果它的视图顶部与UIWindow的顶部不相邻(即使只关闭一个点),那么它以“传统”方式绘制其导航栏,高度为44点.即使在应用程序的视图控制器层次结构中存在多个子节点,该逻辑也由UINavigationController执行.无法阻止此行为.“

总结

以上是内存溢出为你收集整理的使用UINavigationController进行iOS7自定义转换全部内容,希望文章能够帮你解决使用UINavigationController进行iOS7自定义转换所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1057239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存