国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

CAScrollView(滾動(dòng)視圖)

2018-08-29 17:07 更新

類說明

CAScrollView即滾動(dòng)視圖,負(fù)責(zé)CrossApp的所有滾動(dòng)操作??芍С植眉羝渚匦螀^(qū)域以外的渲染,并讓其子數(shù)圖支持滑動(dòng)操作與縮放功能。我們?cè)谑褂肅AScrollView時(shí),有時(shí)需要對(duì)CAScrollView的一個(gè)事件進(jìn)行監(jiān)聽,那么我要就要去實(shí)現(xiàn)CAScrollViewDelegate,并重寫其函數(shù)。


CAScrollView 屬性 (點(diǎn)擊屬性名可查看屬性介紹)

屬性說明
TouchEnabledAtSubviews觸摸事件啟用在子視圖
ViewSize設(shè)置容器的內(nèi)部大小
Bounces設(shè)置是否滾動(dòng)回彈
BounceHorizontal水平方向回彈
BounceVertical豎直方向回彈
ShowsHorizontalScrollIndicator設(shè)置是否顯示水平滾動(dòng)條
ShowsVerticalScrollIndicator設(shè)置是否顯示豎直滾動(dòng)條
MaximumZoomScale最大縮放比例,默認(rèn)值為1
MinimumZoomScale最小縮放比例,默認(rèn)值為1
ZoomScale滑動(dòng)層縮放比例, 默認(rèn)值為1
ScrollViewDelegate滾動(dòng)視圖代表
ShowsScrollIndicators顯示滾動(dòng)指示器
HeaderRefreshView頭部刷新試圖
FooterRefreshView尾部刷新試圖
Tracking是否正在滾動(dòng)
Decelerating是否在慣性運(yùn)動(dòng)中
MultitouchGesture多點(diǎn)觸控手勢(shì)
Zooming是否正在進(jìn)行縮放控制


CAScrollView 方法 (點(diǎn)擊方法名可查看方法介紹)

方法說明
setContentOffset設(shè)置相對(duì)于視圖頂部的偏移量
setBackGroundImage設(shè)置背景圖片
setBackGroundColor設(shè)置背景顏色
addSubview添加子視圖
insertSubview插入子視圖
removeAllSubviews刪除所有子視圖
removeSubview刪除子視圖
removeSubviewByTag通過標(biāo)簽刪除視圖
getSubviewByTag通過標(biāo)簽獲取視圖
setContentOffset獲得內(nèi)容偏移
setZoomScale設(shè)置縮放比例
isReachBoundaryLeft是否到達(dá)左邊界
isReachBoundaryRight是否到達(dá)右邊界
isReachBoundaryUp是否到達(dá)上邊界
isReachBoundaryDown是否到達(dá)下邊界
endHeaderRefresh端頭刷新
endFooterRefresh端尾刷新
getContentOffset獲取相對(duì)于視圖頂部的偏移量
ccTouchBegan觸摸事件開始時(shí)的回調(diào)函數(shù)
ccTouchMoved觸摸事件中觸點(diǎn)移動(dòng)時(shí)的回調(diào)函數(shù)
ccTouchEnded觸摸事件結(jié)束時(shí)的回調(diào)函數(shù)
ccTouchCancelled觸摸非正常結(jié)束時(shí)的回調(diào)函數(shù)。(例如:電話或鎖屏)
mouseScrollWheel鼠標(biāo)滾輪
createWithFrame創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)
createWithCenter創(chuàng)建,并設(shè)置其Center,默認(rèn)Center為(0,0,0,0)
init初始化
startPullToHeaderRefreshView開始頂端刷新視圖
switchPCMode開關(guān)PC模式


CAScrollView即滾動(dòng)視圖,負(fù)責(zé)CrossApp的所有滾動(dòng)操作??芍С植眉羝渚匦螀^(qū)域以外的渲染,并讓其子數(shù)圖支持滑動(dòng)操作與縮放功能。我們?cè)谑褂肅AScrollView時(shí),有時(shí)需要對(duì)CAScrollView的一個(gè)事件進(jìn)行監(jiān)聽,那么我要就要去實(shí)現(xiàn)CAScrollViewDelegate,并重寫其函數(shù)。


CAScrollView相對(duì)于前面的控件來說,使用比較復(fù)雜。但我們清楚了每個(gè)函數(shù)的意義之后,便可以很清晰的構(gòu)建出我們所需要的CAScrollView。這里我們就舉一個(gè)展示文本的一個(gè)CAScrollView。

首先,我們希望能夠監(jiān)聽到CAScrollView的變化,那么我則需要去實(shí)現(xiàn)CAScrollViewDelegate,我們修該FirstViewController.h,添加要實(shí)現(xiàn)的函數(shù)如下:

#include <iostream>
#include "CrossApp.h"
 
USING_NS_CC;
 
class FirstViewController: public CAViewController ,public CAScrollViewDelegate
{ 
public:
 
    FirstViewController();
    virtual ~FirstViewController();
     
    //觸摸滾動(dòng)時(shí)調(diào)用
    virtual void scrollViewDidMoved(CAScrollView* view);
    
    //觸摸滾動(dòng)停止時(shí)調(diào)用
    virtual void scrollViewStopMoved(CAScrollView* view);
     
    //滾動(dòng)時(shí)調(diào)用(包括慣性滾動(dòng)時(shí))
    virtual void scrollViewDidScroll(CAScrollView* view);
    
    //開始滾動(dòng)時(shí)調(diào)用
    virtual void scrollViewWillBeginDragging(CAScrollView* view);
    
    //結(jié)束滾動(dòng)時(shí)調(diào)用
    virtual void scrollViewDidEndDragging(CAScrollView* view);
     
    //縮放時(shí)調(diào)用
    virtual void scrollViewDidZoom(CAScrollView* view);
    
    //頭部開始刷新時(shí)調(diào)用
    virtual void scrollViewHeaderBeginRefreshing(CAScrollView* view);
    
    //尾巴開始刷新時(shí)調(diào)用
    virtual void scrollViewFooterBeginRefreshing(CAScrollView* view);
     
protected:
     
    void viewDidLoad();
     
    void viewDidUnload();
     
}

然后我們就要在FirstViewController.cpp中去實(shí)現(xiàn)這寫代理函數(shù):
void FirstViewController::viewDidLoad()
{
    // 獲得屏幕大小
    DSize size  = this->getView()->getBounds().size;
    
    //設(shè)置背景顏色為黑色
    this->getView()->setColor(CAColor_black);
    
    //創(chuàng)建scrollView
    CAScrollView* scrollView = CAScrollView::createWithCenter(DRect(size.width*0.5,size.height*0.5 - 270,size.width * 0.5, 100));
   
    //CACScrollView容器的大小
    scrollView->setViewSize(DSize(size.width, 200));
    
    //設(shè)置背景顏色
    scrollView->setBackGroundColor(CAColor_orange);
    
    //設(shè)置背景圖片
    //scrollView->setBackGroundImage(CAImage::create("r/HelloWorld.png"));
    
    //水平方向是否回彈
    scrollView->setBounceHorizontal(false);
    
    //豎直方向是否回彈
    scrollView->setBounceVertical(true);
    
    //是否滾動(dòng)回彈,控制豎直和水平方向,默認(rèn)為ture
    //scrollView->setBounces(false);
    scrollView->setScrollViewDelegate(this);
     
    this->getView()->addSubview(scrollView);
     
    //創(chuàng)建label
    CALabel* label = CALabel::createWithFrame(DRect(0, 0, size.width * 0.5, 200));
    
    //設(shè)置水平劇中
    label->setTextAlignment(CATextAlignmentCenter);
    
    //設(shè)置豎直劇中
    label->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);
    
    //設(shè)置字體大小
    label->setFontSize(18 * CROSSAPP_ADPTATION_RATIO);
    
    //設(shè)置文本內(nèi)容
    label->setText(UTF8("CrossApp具有強(qiáng)大的跨平臺(tái)性能,并且具有離線能力,可以進(jìn)行離線操作。對(duì)開發(fā)者和用戶入門要求較低,且功能強(qiáng)大。綜合效率高,開發(fā)者可以根據(jù)實(shí)際情況,考慮各方面因素來選擇合適的開發(fā)解決方案。"));
    
    //設(shè)置文本顏色
    label->setColor(CAColor_blue);
    
    //將label添加到scrollView
    scrollView->addSubview(label);
}
 
//觸摸滾動(dòng)時(shí)調(diào)用
void FirstViewController::scrollViewDidMoved(CAScrollView* view)
{
    CCLog("DidMoved-->");
}
 
//觸摸滾動(dòng)停止時(shí)調(diào)用
void FirstViewController::scrollViewStopMoved(CAScrollView* view)
{
    CCLog("StopMoved-->");
}
 
//滾動(dòng)時(shí)調(diào)用(包括慣性滾動(dòng)時(shí))
void FirstViewController::scrollViewDidScroll(CAScrollView* view)
{
    CCLog("DidMScroll-->");
}
 
//開始滾動(dòng)時(shí)調(diào)用
void FirstViewController::scrollViewWillBeginDragging(CAScrollView* view)
{
    CCLog("BeginDragging-->");
}
 
//結(jié)束滾動(dòng)時(shí)調(diào)用
void FirstViewController::scrollViewDidEndDragging(CAScrollView* view)
{
    CCLog("DidEndDragging-->");
}
 
//縮放時(shí)調(diào)用
void FirstViewController::scrollViewDidZoom(CAScrollView* view)
{
    CCLog("DidZoom-->");
}
 
//頭部開始刷新時(shí)調(diào)用
void FirstViewController::scrollViewHeaderBeginRefreshing(CAScrollView* view)
{
    CCLog("HeaderBeginRefreshing-->");
}
 
//尾巴開始刷新時(shí)調(diào)用
void FirstViewController::scrollViewFooterBeginRefreshing(CAScrollView* view)
{
    CCLog("FooterBeginRefeshing-->");
}



CAScrollView 屬性介紹        

TouchEnabledAtSubviews

類型:bool

解釋:觸摸事件啟用在子視圖。is/set{}。


ViewSize

類型:DSize

解釋:設(shè)置容器的內(nèi)部大小。set/get{}。


Bounces

類型:bool

解釋:設(shè)置是否滾動(dòng)回彈。is/set{}。


BounceHorizontal

類型:bool

解釋:水平方向回彈。is/set{}。


BounceVertical

類型:bool

解釋:豎直方向回彈。is/set{}。


ShowsHorizontalScrollIndicator

類型:bool

解釋:設(shè)置是否顯示水平滾動(dòng)條。is/set{}。


ShowsVerticalScrollIndicator

類型:bool

解釋:設(shè)置是否顯示豎直滾動(dòng)條。is/set{}。


MaximumZoomScale

類型:float

解釋:最大縮放比例,默認(rèn)值為1。set/get{}。


MinimumZoomScale

類型:float

解釋:最小縮放比例,默認(rèn)值為1。set/get{}。


ZoomScale

類型:float

解釋: 滑動(dòng)層縮放比例, 默認(rèn)值為1。get{}。


ScrollViewDelegate

類型:CAScrollViewDelegate*

解釋:滾動(dòng)視圖代表。set/get{}。


ShowsScrollIndicators

類型:bool

解釋:顯示滾動(dòng)指示器。is/set{}。


HeaderRefreshView

類型:CAPullToRefreshView*

解釋:頭部刷新試圖。set/get{}。


FooterRefreshView

類型:CAPullToRefreshView*

解釋:尾部刷新試圖。set/get{}。


Tracking

類型:bool

解釋:查看 ScrollView 是否正在滾動(dòng)。is{}。

        

Zooming

類型:bool

解釋:查看 ScrollView 是否正在進(jìn)行縮放控制。is{}。


Decelerating

類型:bool

解釋:查看 ScrollView 是否在慣性運(yùn)動(dòng)中。is{}。


MultitouchGesture

類型:MultitouchGesture

解釋:多點(diǎn)觸控手勢(shì),set/get{}。


CAScrollView 方法介紹

void setContentOffset(const DPoint& offset, bool animated);

返回值:void

參數(shù):

類型參數(shù)名說明
const DPoint&offset偏移量
boolanimated是否播放動(dòng)畫

解釋:設(shè)置內(nèi)容偏移量


void setBackGroundImage(CAImage* image);

返回值:void

參數(shù):

類型參數(shù)名說明
CAImage*image背景圖像

解釋:設(shè)置背景圖像


void setBackGroundColor(const CAColor4B &color);

返回值:void

參數(shù):

類型參數(shù)名說明
const CAColor4B&color背景顏色

解釋:設(shè)置背景顏色


virtual void addSubview(CAView* subview); 

返回值:void

參數(shù):

類型參數(shù)名說明
CAView*subview子視圖

解釋:添加子視圖


virtual void insertSubview(CAView* subview, int z);

返回值:void

參數(shù):

類型參數(shù)名說明
CAView*subview子視圖
intz數(shù)量

解釋:插入子視圖


void removeAllSubviews();

返回值:void

參數(shù):

解釋:刪除所有子視圖


void removeSubview(CAView* subview);  

返回值:void

參數(shù):

類型參數(shù)名說明
CAView*subview子視圖

解釋:刪除子視圖


CAView* getSubviewByTag(int aTag); 

返回值:CAView*

參數(shù):

類型參數(shù)名說明
intaTag子視圖標(biāo)簽

解釋:通過標(biāo)簽獲取子視圖


void removeSubviewByTag(int tag);

返回值:void

參數(shù):

類型參數(shù)名說明
inttag子視圖標(biāo)簽

解釋:通過標(biāo)簽刪除子視圖


CAView* getSubviewByTag(int aTag);

返回值:CAView* 

參數(shù):

類型參數(shù)名說明
intaTag子視圖標(biāo)簽

解釋:過標(biāo)簽獲取子視圖


DPoint getContentOffset();

返回值:DPoint

參數(shù):

解釋:獲得內(nèi)容偏移量


void setZoomScale(float zoom);

返回值:void

參數(shù):

類型參數(shù)名說明
floatzoom縮放比例

解釋:設(shè)置縮放比例


virtual bool isReachBoundaryLeft();

返回值:bool

參數(shù):

解釋:是否到達(dá)左邊界


virtual bool isReachBoundaryRight();

返回值:bool

參數(shù):

解釋:是否到達(dá)右邊界


virtual bool isReachBoundaryUp();

返回值:bool

參數(shù):

解釋:是否到達(dá)上邊界


virtual bool isReachBoundaryDown();

返回值:bool

參數(shù):

解釋:是否到達(dá)下邊界


void endHeaderRefresh();

返回值:void

參數(shù):

解釋:端頭刷新


void endFooterRefresh();

返回值:void

參數(shù):

解釋:端尾刷新


DPoint getContentOffset();

返回值:DPoint

參數(shù):

解釋:獲取相對(duì)于視圖頂部的偏移量


virtual bool ccTouchBegan(CATouch *pTouch, CAEvent *pEvent);

返回值:virtual bool

參數(shù):

類型參數(shù)名說明
CATouch*pTouch觸摸傳遞對(duì)象
CAEvent*pEven此參數(shù)待定

解釋:觸摸事件開始時(shí)的回調(diào)函數(shù)


virtual void ccTouchMoved(CATouch *pTouch, CAEvent *pEvent);

返回值:virtual void

參數(shù):

類型參數(shù)名說明
CATouch*pTouch觸摸傳遞對(duì)象
CAEvent*pEven此參數(shù)待定

解釋:觸摸事件中觸點(diǎn)移動(dòng)時(shí)的回調(diào)函數(shù)


virtual void ccTouchEnded(CATouch *pTouch, CAEvent *pEvent);

返回值:virtual void

參數(shù):

類型參數(shù)名說明
CATouch*pTouch觸摸傳遞對(duì)象
CAEvent*pEven此參數(shù)待定

解釋:觸摸事件結(jié)束時(shí)的回調(diào)函數(shù)


virtual void ccTouchCancelled(CATouch *pTouch, CAEvent *pEvent);

返回值:virtual void

參數(shù):

類型參數(shù)名說明
CATouch*pTouch觸摸傳遞對(duì)象
CAEvent*pEven此參數(shù)待定

解釋:觸摸非正常結(jié)束時(shí)的回調(diào)函數(shù)。(例如:電話或鎖屏)


virtual void mouseScrollWheel(CATouch* pTouch, float off_x, float off_y, CAEvent* pEvent);

返回值:virtual void

參數(shù):

類型參數(shù)名說明
CATouch*pTouch觸摸
floatoff_xx坐標(biāo)偏移量
floatoff_yy坐標(biāo)偏移量
CAEvent*pEvent事件

解釋:鼠標(biāo)滾輪


static CAScrollView* createWithFrame(const DRect& rect);

返回值:static CAScrollView*

參數(shù):

類型參數(shù)名說明
const DRect&rect區(qū)域大小

解釋:創(chuàng)建,并指定其Frame,默認(rèn)Frame為(0,0,0,0)


static CAScrollView* createWithCenter(const DRect& rect);

返回值:static CAScrollView*

參數(shù):

類型參數(shù)名說明
const DRect&rect中心點(diǎn)的位置及大小

解釋:創(chuàng)建,并設(shè)置其Center,默認(rèn)Center為(0,0,0,0)


virtual bool init();

返回值:virtual bool

參數(shù):

解釋:初始化


void startPullToHeaderRefreshView();

返回值:void

參數(shù):

解釋:開始頂端刷新視圖


virtual void switchPCMode(bool var);

返回值:virtual void

參數(shù):

類型參數(shù)名說明
boolvar開關(guān)

解釋:開關(guān)PC模式

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)