ios – 在view.layoutIfNeeded期间防止UICollectionView动画化

ios – 在view.layoutIfNeeded期间防止UICollectionView动画化,第1张

概述我正在我的应用程序中构建一个与消息应用程序非常相似的页面.此页面顶部有一个工具栏,正下方有一个集合视图,集合视图下有一个视图,其中包含用于发送消息的文本字段. 集合视图是两个用户之间的消息列表.它由使用自动布局的自定尺寸单元组成. 我已按照许多人的建议添加了一个keyboardNotification监听器,以便在将键盘引入屏幕时移动我的文本字段.为了使其工作,包含文本字段的视图具有一个约束,使其 我正在我的应用程序中构建一个与消息应用程序非常相似的页面.此页面顶部有一个工具栏,正下方有一个集合视图,集合视图下有一个视图,其中包含用于发送消息的文本字段.

集合视图是两个用户之间的消息列表.它由使用自动布局的自定尺寸单元组成.

我已按照许多人的建议添加了一个keyboardNotification监听器,以便在将键盘引入屏幕时移动我的文本字段.为了使其工作,包含文本字段的视图具有一个约束,使其保持在底部布局指南中.当键盘启动时,该约束的常量被改变以适应键盘高度.

这很有效,但我的问题在于,为了动画约束更改,必须调用vIEw.layoutIfNeeded().这会导致我的集合视图单元格短暂调整大小并设置动画.它非常烦人,看起来很糟糕,所以我问:在父视图上调用layoutIfNeeded时,如何保持集合视图单元格的动画效果?

解决方法 试试这个:

// ... modification on constraintsUIVIEw.animate(withDuration: 0.4) {    // To lock the animation for collectionVIEw.    UIVIEw.performWithoutAnimation {        self.collectionVIEw.performBatchUpdates(nil,completion: nil)    }    self.vIEw.layoutIfNeeded()}
总结

以上是内存溢出为你收集整理的ios – 在view.layoutIfNeeded期间防止UICollectionView动画化全部内容,希望文章能够帮你解决ios – 在view.layoutIfNeeded期间防止UICollectionView动画化所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1032263.html

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

发表评论

登录后才能评论

评论列表(0条)

保存