From 809fb0f6316810d97d63e3c4b52abc7e6f7a16df Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期三, 19 九月 2018 16:14:31 +0800
Subject: [PATCH] 1969 滚动列表修改
---
System/Skill/ScrollerController.cs | 27 ++++++++++++++++++++++++++-
1 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/System/Skill/ScrollerController.cs b/System/Skill/ScrollerController.cs
index 1933d6d..71b161e 100644
--- a/System/Skill/ScrollerController.cs
+++ b/System/Skill/ScrollerController.cs
@@ -307,7 +307,10 @@
cacheJump = index;
return;
}
- if ((index < 0 || index >= _data.Count) && !m_Scorller.Loop) return;
+ if ((index < 0 || index >= _data.Count) && !m_Scorller.Loop)
+ {
+ return;
+ }
var _size = m_Scorller.GetScrollPositionForDataIndex(index, EnhancedScroller.CellViewPositionEnum.Before);
var _contentSize = vertical ? m_Scorller.scrollRect.content.rect.size.y : m_Scorller.scrollRect.content.rect.size.x;
if (_contentSize - _size < m_Scorller.ScrollRectSize)
@@ -317,6 +320,28 @@
m_Scorller.ScrollPosition = _size;
}
+ public void JumpIndex(int index,ref float offset)
+ {
+ if (!inited)
+ {
+ cacheJump = index;
+ return;
+ }
+ if ((index < 0 || index >= _data.Count) && !m_Scorller.Loop)
+ {
+ return;
+ }
+ var _size = m_Scorller.GetScrollPositionForDataIndex(index, EnhancedScroller.CellViewPositionEnum.Before);
+ var _contentSize = vertical ? m_Scorller.scrollRect.content.rect.size.y : m_Scorller.scrollRect.content.rect.size.x;
+ offset = 0f;
+ if (_contentSize - _size < m_Scorller.ScrollRectSize)
+ {
+ offset = _size - (_contentSize - m_Scorller.ScrollRectSize);
+ _size = _size - offset;
+ }
+ m_Scorller.ScrollPosition = _size;
+ }
+
public float GetCellSize(int _dataIndex)
{
if (!inited)
--
Gitblit v1.8.0