ios – 在控制器转换期间动画UINavigationController高度

ios – 在控制器转换期间动画UINavigationController高度,第1张

概述我正在设计一个 swift的iOS应用程序,我在控制器转换期间遇到动画困难.具体来说,我已经实现了一个UINavigationControllerDelegate,用于监听推送某个视图的时间.按下此视图时,我想隐藏屏幕底部的一个栏.我的代码几乎完美地运行,但是每当我在导航控制器的高度上开始动画时,当前视图(正被删除)正确地设置其高度的动画,但是被推动的新控制器已经具有新的高度.动画.要为它添加一些 我正在设计一个 swift的iOS应用程序,我在控制器转换期间遇到动画困难.具体来说,我已经实现了一个UINavigationControllerDelegate,用于监听推送某个视图的时间.按下此视图时,我想隐藏屏幕底部的一个栏.我的代码几乎完美地运行,但是每当我在导航控制器的高度上开始动画时,当前视图(正被删除)正确地设置其高度的动画,但是被推动的新控制器已经具有新的高度.动画.要为它添加一些代码,从我的UINavigationControllerDelegate的willShow vIEwController函数调用以下函数:

func animatePlayerVisibility(_ visible: Bool) {    if visible == showingPlayer {        return    }    showingPlayer = visible    let height: CGfloat = visible ? 56.0 : 0.0    self.vIEw.layoutIfNeeded()    UIVIEw.animate(withDuration: 0.35) {        self.playerHeight.constant = height        self.vIEwBottom.constant = height        self.vIEw.layoutIfNeeded()    }}

‘playerHeight’是对玩家容器视图高度的约束的IBOutlet. ‘vIEwBottom’也是顶部容器视图底部和屏幕底部之间的IBOutlet约束.基本上,只要这两个约束一起动画,它应该看起来不错.

为了帮助可视化图形错误,我编辑了这一行

self.vIEwBottom.constant = height

self.vIEwBottom.constant = height * 2.0

我创建了一张imgur专辑,其中列出了实际的错误行为:
http://imgur.com/a/znAim

如您所见,当新控制器已具有新的动画大小时,旧视图控制器会正常动画.

这是我的故事板的布局:

任何帮助将非常感激.我一直试图解决这个问题一段时间没有成功.

编辑:未应用* 2的动画视图.
https://imgur.com/a/2a5Sw

解决方法 你有没有想过不使用UINavigationController?也许使用ChildVIEwControllers机制会更容易.然后使用它你可以使用强大的自动布局,并有更多的动画控制(在你的情况下高度)

有关此here的更多信息

总结

以上是内存溢出为你收集整理的ios – 在控制器转换期间动画UINavigationController高度全部内容,希望文章能够帮你解决ios – 在控制器转换期间动画UINavigationController高度所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存