cocos代碼研究 Widget子類ScrollView學習筆記
阿新 • • 發佈:2018-03-31
改變 pac 水平 cal 是否 mri scrolltop rsize posit
基礎理論
一個能夠被用戶觸摸滾動的一個層次型布局容器視圖,允許其尺寸大於屏幕顯示的物理尺寸,其內部維護有一個布局用於水平的或垂直的存放子節點。繼承自 Layout,被 ListView 繼承。
代碼實踐
void setBounceEnabled (bool enabled) 設置當滾動到邊界時,是否內部容器發生彈回(bounce)效果 bool isBounceEnabled () const 獲取邊界彈回(bounce)狀態。 void setInertiaScrollEnabled (bool enabled) 設置是否開啟滾動慣性。 bool isInertiaScrollEnabled () const獲取滾動視圖是否開啟滾動慣性。 void setScrollBarEnabled (bool enabled) 設置是否啟用滾動條。 bool isScrollBarEnabled () const 返回滾動條是否啟用。 virtual void setDirection (Direction dir) 改變滾動視圖的方向。 Direction getDirection () const 獲取滾動視圖的滾動方向。 Layout * getInnerContainer () const 獲取滾動視圖的內部布局容器,該布局容器為滾動視圖的子節點。 //與滾動方位有關 void scrollToPercentVertical (floatpercent, float second, bool attenuated) 按百分比豎直滾動內部布局容器 void scrollToPercentHorizontal (float percent, float second, bool attenuated) 按百分比水平滾動內部布局容器 void scrollToPercentBothDirection (const Vec2 &percent, float second, bool attenuated) 在豎直方向和水平方向分別按一定的百分比滾動內部布局容器 void scrollToBottom (float second, boolattenuated) 將內部的布局容器滾動到滾動視圖的底部邊界。 void scrollToTop (float second, bool attenuated) 將內部布局容器滾動到滾動視圖的頂部邊界。 void scrollToLeft (float second, bool attenuated) 將內部容器滾動到滾動視圖的左端邊界 void scrollToRight (float time, bool attenuated) 將內部布局容器滾動到滾動視圖的右端邊界 void scrollToTopLeft (float second, bool attenuated) 滾動內部布局容器到滾動視圖的左上角 void scrollToTopRight (float time, bool attenuated) 滾動內部布局容器到滾動使徒的右上角 void scrollToBottomLeft (float second, bool attenuated) 滾動內部布局容器到視圖的左下角 void scrollToBottomRight (float time, bool attenuated) 滾動內部布局容器到視圖的右下角 //與滾動條樣式有關 void setScrollBarPositionFromCorner (const Vec2 &positionFromCorner) 設置滾動條水平位置和垂直位置。 void setScrollBarPositionFromCornerForVertical (const Vec2 &positionFromCorner) 設置滾動條垂直位置。 Vec2 getScrollBarPositionFromCornerForVertical () const 獲得滾動條垂直位置。 void setScrollBarPositionFromCornerForHorizontal (const Vec2 &positionFromCorner) 設置滾動條水平位置。 Vec2 getScrollBarPositionFromCornerForHorizontal () const 獲得滾動條水平位置。 void setScrollBarWidth (float width) 設置滾動條寬度。 float getScrollBarWidth () const 獲取滾動條寬度。 void setScrollBarColor (const Color3B &color) 設置滾動條顏色。 const Color3B & getScrollBarColor () const 獲取滾動條顏色。 void setScrollBarOpacity (GLubyte opacity) 設置滾動條透明度。 GLubyte getScrollBarOpacity () const 獲取滾動條透明度。 void setScrollBarAutoHideEnabled (bool autoHideEnabled) 設置滾動條自動隱藏狀態。 bool isScrollBarAutoHideEnabled () const 獲取滾動條是否自動隱藏。 void setScrollBarAutoHideTime (float autoHideTime) 設置滾動條自動隱藏時間。 float getScrollBarAutoHideTime () const 獲取滾動條是否自動隱藏。 // void jumpToBottom () 將內部布局容器移至視圖底端。 void jumpToTop () 將內部布局容器移至視圖頂端。 void jumpToLeft () 將內部布局容器移至視圖左端。 void jumpToRight () 將內部布局容器移至視圖右端。 void jumpToTopLeft () 將內部布局容器移至視圖的左上角。 void jumpToTopRight () 將內部布局容器移至視圖的右上角。 void jumpToBottomLeft () 將內部布局容器移至視圖的左下角。 void jumpToBottomRight () 將內部布局容器移至視圖的右下角。 void jumpToPercentVertical (float percent) 按一定的百分比豎直滾動視圖內的布局容器。 void jumpToPercentHorizontal (float percent) 按一定的百分比豎直滾動視圖內的布局容器。 void jumpToPercentBothDirection (const Vec2 &percent) 豎直方向和水平方向分別按一定的百分比滾動容器。 void setInnerContainerSize (const Size &size) 設置滾動容器的滾動區域大小。 const Size & getInnerContainerSize () const 獲取滾動容器的滾動區域大小。 void setInnerContainerPosition (const Vec2 &pos) 設置容器內的位置。 const Vec2 getInnerContainerPosition () const 獲取容器內的位置。 void addEventListenerScrollView (Ref *target, SEL_ScrollViewEvent selector) 添加一個回調函數,該回調函數將會在視圖發生滾動時觸發。 virtual void addEventListener (const ccScrollViewCallback &callback) 添加一個回調函數,該回調函數將在滾動事件觸發時被調用。
cocos代碼研究 Widget子類ScrollView學習筆記