Unity ScrollView最底展示
- 问题
- 方案逻辑
问题
比如在做聊天界面的时候我们肯定会使用到ScrollView来进行展示我们的聊天内容,那么这个时候来新消息的时候就需要最底展示,我认为这里有两种方案;
- 一种是通过算法每一条预制体的高度*一共多少条 - 展示的窗口大小
- 另一种是通过对ScrollRect组件的设置和刷新进行最底展示
资源在这里:RefreshContent
方案逻辑
- 通过计算的逻辑这里我就不详细计算了每个界面计算的方式或多或少都不太一样
- 这里我说一个比较通用的办法如下所示
下面的代码在每次调用时都会刷新到当前ScrollView的最底
public void Refresh()
{
Canvas.ForceUpdateCanvases();
GetComponent<ScrollRect>().verticalNormalizedPosition = 0f;
Canvas.ForceUpdateCanvases();
}
所以当我们创建对应聊天预制体完成时我们调用一次上述代码,这样就是最底展示了