Unity自带的UGUI ScrollView刷新不及时问题

self:RefreshCommentsList()

self.scrollView = self.CommentsView:GetComponent(ScrollRect)
self.scrollView.verticalNormalizedPosition = 0

如上所示,当我想刷新Unity中的一个ScrollView的列表后,将这个列表瞬间移至底部。但是上述这三行代码会出现一个问题:存在ScrollView列表中的东西还未刷新完,就执行了移至底部的方法,导致最终的效果与预期不符。
那怎么让它在刷新完成之后再进行后续的操作?

  1. 可以将下述代码移到下一帧去进行操作
self.scrollView = self.CommentsView:GetComponent(ScrollRect)
self.scrollView.verticalNormalizedPosition = 0
  1. 使用Unity中的LayoutRebuilder(强制立即重建布局),其中rectTrans为带有layout组件的trans
self:RefreshCommentsList()
LayoutRebuilder.ForceRebuildLayoutImmediate(rectTrans);
self.scrollView = self.CommentsView:GetComponent(ScrollRect)
self.scrollView.verticalNormalizedPosition = 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UGUI ScrollViewUnity 的 UI 系统中的一种可滚动显示内容的控件,它常用于显示大量数据或者需要滚动浏览的内容。下拉刷新和上拉加载更多是在实际使用中为了增强用户体验而加入的功能。 下拉刷新是指用户在滚动 ScrollView 时,向下拉动一段距离后,触发刷新操作,以更新显示的内容。要实现下拉刷新功能,我们可以通过在 ScrollView 的上方增加一个控件,例如一个下拉刷新的提示文字或者一个带有动画效果的图标。当用户下拉 ScrollView 时,通过监听用户手势的滑动距离,当滑动距离超过一定阈值时,触发刷新操作。在刷新操作过程中,我们可以调用相应的数据加载函数,重新加载数据,并将新加载的数据更新显示在 ScrollView 中。 上拉加载更多是指用户在滚动 ScrollView 时,当滑动到底部后,触发加载更多操作,以继续显示后续的内容。要实现上拉加载更多功能,我们可以通过在 ScrollView 的下方增加一个控件,例如一个上拉加载的提示文字或者一个带有动画效果的图标。当用户滑动到底部时,我们通过监听 ScrollView 的滚动位置或者判断 ScrollView 内容视图是否完全可见,判断是否需要加载更多内容。在加载更多操作中,我们可以调用相应的数据加载函数,加载更多的数据,并将新加载的数据追加到 ScrollView 中。 通过实现下拉刷新和上拉加载更多功能,可以使用户在浏览大量数据或者滚动显示内容时更加方便快捷。这些功能的实现可以增加用户的交互体验,并且带来更好的用户滚动体验。同时,我们在开发中还可以根据具体需求,添加一些附加的功能,例如自定义刷新和加载动画、刷新和加载失败处理等,以进一步提升用户体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值