Unreal 滑动条异常

Unreal 列表滑动条异常 listview item scroll

问题由来

  • 使用Log Viewer Pro时
  • 当某一行日志热别长的时候
  • 滑动条异常

当ListView面板显示不下一个Item时 滑动条异常

  • 查看源码 发现有这个逻辑
  • STableViewBase类Tick函数
if (ReGenerateResults.ExactNumLinesOnScreen < 1.0f)
{
	// We are be observing a single row which is larger than the available visible area, so we should calculate thumb size based on that 
	//我们正在观察一个大于可用可见区域的单行,所以我们应该根据它计算拇指大小
    const double VisibleSizeFraction = AllottedGeometry.GetLocalSize().Y / ReGenerateResults.LengthOfGeneratedItems;
	const double ThumbSizeFraction = FMath::Min(VisibleSizeFraction, 1.0);
	const double OffsetFraction = CurrentScrollOffset / NumItemsBeingObserved;
	ScrollBar->SetState( OffsetFraction, ThumbSizeFraction );
}
  • 设计应该是当listview可显示区域放不下一行 滑动条进度按当前行计算
  • 感觉是古老的设计方法

解决方案

  • 注释这几行
  • 加个开关处理判断
  • 重写STableViewBase类
posted @ 2022-07-22 21:14  邹强  阅读(74)  评论(0编辑  收藏  举报