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