×

一、简介与环境搭建

CrossApp简介CrossApp摘要CrossApp坐标系浅谈CrossApp屏幕适配方案CrossApp源码结构CrossApp的MVC模式CrossApp项目结构及入口CrossApp内存管理CrossApp类结构图创建CrossApp工程CAVector、CAList、CADeque、CAMap(数据容器)Windows 开发下VS2013环境搭建Windows 开发下Android环境配置Mac OS 开发下Xcode环境搭建Mac OS 下iOS移植android环境配置

二、CrossApp简单控件的使用

DLayout(自适应布局)CALabel(显示文本)CAImage、CAImageView(显示一张图片)CAScale9ImageView(九宫格图片拉伸)CAButton(按钮)CATextView(多行输入框)CATextViewDelegateCASwitch(开关控件)CAProgress(进度条)CAAlertView(提示框)CAScrollView(滚动视图)CAScrollViewDelegateCAListView(列表)CAListViewDataSourceCAListViewDelegateCATableView(表单视图)CATableViewDataSourceCATableViewDelegateCATableViewCellCACollectionView(容器)CACollectionViewDataSourceCASlider(滑动条)CAStepper(步进控件)CAPageView(页面切换)CAPageViewDelegateCAWaterfallView(瀑布流控件)CAWaterfallViewDataSourceCAWaterfallViewDelegateCAWaterfallViewCellCATextField(输入框)CATextFieldDelegateCAAutoCollectionView(自动化布局容器)CAAutoCollectionViewDataSourceCAAutoCollectionViewDelegateCAVideoPlayerControlView(视频播放器控制视图)CAVideoPlayerControlViewDelegateCAWebView(Web视图控件)CAWebViewDelegateCAGifView(显示Gif图片)CARenderImage(图像渲染)CASegmentedControl(分段控制)CAPickerView(视图选择器)CAPickerViewDataSourceCAPickerViewDelegateCAActivityIndicatorView(活动指示器)CrossApp UIEdit(UI编辑器)

三、视图控制

CAViewController(视图控制器)CADrawerController(抽屉控制器)CANavigationController(导航控制器)CANavigationBarDelegateCANavigationBarItemCANavigationBarCATabBarController(标签栏控制器)CATabBarDelegateCATabBarItem

四、调用系统支持

CADevice

五、数据的解析与存储

CAUserDefault简单存储SQlite的使用json解析xml解析

六、网络

网络通信之httphttp请求网络图

七,动画

CAViewAnimation(动画实现)

八、宏定义

宏定义

九、其他控件的使用

CAViewCAViewDelegateCATextField(输入框1.2以前版本)CAObjectCAResponderCAPullToRefreshViewCAControlCAWindowCABarItemCABarButtonItemCASchedulerCAMediaDelegateCAKeypadDelegate

CAPageView(页面切换)


类说明

CAPageView用于实现分页、翻页效果。CAPageView为我们提供了横向和竖直两个方向的样式。我也可以通过继承CAPageViewDelegate来实现对CAPageView的监听。


CAPageView 属性(点击查看方法介绍)

属性 说明
PageViewDirection 页面浏览方向
PageViewDelegate 页面视图代表
CurrPage 当前页
Spacing 间距


CAPageView 方法(点击查看方法介绍)

方法 说明
createWithFrame 创建,并指定其Frame,默认Frame为(0,0,0,0)
createWithCenter 创建,并指定其Center,默认Center为(0,0,0,0)
setCurrPage 设置显示指定页
getPageCount 获取页面总数
setViews 添加存放View的CADeque容器
setViews 添加存放View的CAVector容器
getSubViewAtIndex 通过索引获取子视图
setShowsScrollIndicators 设置显示滚动条
init
初始化


我来看一下代码实例:
首先我们需要继承CAPageViewDelegate实现监听函数。我们在.h文件中添加如下代码:

#include <iostream>
#include "CrossApp.h"
 
USING_NS_CC;
 
class FirstViewController : public CAViewController, public  CAPageViewDelegate
{
     
public:
    FirstViewController();
     
    virtual ~FirstViewController();
     
    //切换开始时调用
    virtual void pageViewDidBeginTurning(CAPageView* pageView);
     
    //切换结束时调用
    virtual void pageViewDidEndTurning(CAPageView* pageView);
     
    //选择当前的切换页时调用
    virtual void pageViewDidSelectPageAtIndex(CAPageView* pageView, unsigned int index, const DPoint& point);
protected:
     
    void viewDidLoad();
     
    void viewDidUnload();
     
};

然后在.cpp中实现逻辑:

void FirstViewController::viewDidLoad()
{
    //生命一个CAVector作为添加到PageView的容器
    CAVector<CAView*> viewVector;
     
    //获得屏幕的rect
    DRect winRect = this->getView()->getBounds();
         
    //创建CALabel
    CALabel* labelView = CALabel::createWithFrame(winRect);
     
    //设置为居中
    labelView->setTextAlignment(CATextAlignmentCenter);
    labelView->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);
    labelView->setFontSize(75);
     
    //设置文本内容
    labelView->setText(UTF8("第一个View"));
         
    //创建CAImageView
    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("HelloWorld.png"));
     
    //设置显示区域
    imageView->setFrame(winRect);
     
    //创建一个蓝色的View
    CAView* view = CAView::createWithColor(CAColor_blue);
         
    //设置显示区域
    view->setFrame(winRect);
     
    //创建CALabel
    CALabel* lastLabel = CALabel::createWithFrame(winRect);
         
    //设置居中
    lastLabel->setTextAlignment(CATextAlignmentCenter);            
    lastLabel->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);
    lastLabel->setFontSize(75);
     
    //设置显示文本
    lastLabel->setText(UTF8("最后一个View"));
         
    //将lastLabel添加到view
    view->addSubview(lastLabel);
         
    //将上面的三个控件放入到CAVector容器内
    viewVector.pushBack(labelView);
    viewVector.pushBack(imageView);
    viewVector.pushBack(view);
         
    /*创建一个CAPageView并设置为水平滚动
    CAPageViewDirectionHorizontal:水平
    CAPageViewDirectionVertical:竖直
    */
         
    CAPageView* pageViewTest = CAPageView::createWithCenter(DRect(winRect.size.width*0.5, winRect.size.height*0.5, winRect.size.width, winRect.size.height), CAPageView::CAPageViewDirectionHorizontal);
        
    //设置监听
    pageViewTest->setPageViewDelegate(this);
     
    //将CAVector添加到pageViewTest
    pageViewTest->setViews(viewVector);
    pageViewTest->getPageCount();
         
    //将pageViewTest添到屏幕显示
    this->getView()->addSubview(pageViewTest);
     
}
 
void FirstViewController::viewDidUnload()
{
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}
 
void FirstViewController::pageViewDidBeginTurning(CAPageView* pageView)
{
    CCLog("Begin--->");
}
 
void FirstViewController::pageViewDidEndTurning(CAPageView* pageView)
{
    CCLog("End--->");
}
 
void FirstViewController::pageViewDidSelectPageAtIndex(CAPageView* pageView, unsigned int index, const DPoint& point)
{
    CCLog("Index:%d",index);
}

我们创建了一个含有三个CAView的CAPageView,横向滑动可以切换到不同的CAView,在我们切换时候会调用pageViewDidBeginTurning函数和pageViewDidEndTurning函数,当我们点击某个页面的时候pageViewDidSelectPageAtIndex会被调用。


CAPageView 属性说明

PageViewDirection

类型:CAPageViewDirection

解释:页面浏览方向。get{}。

    

PageViewDelegate

类型:CAPageViewDelegate*

解释:页面视图代表。set/get{}。


CurrPage

类型:int

解释:当前页。get{}。


Spacing

类型:int

解释:间距。set/get{}。


CAPageView 方法说明

static CAPageView* createWithFrame(const CCRect& rect, const CAPageViewDirection& type);

返回值:CAPageView*

参数:

类型 参数名 说明
CCRect& rect 大小
CAPageViewDirection&
type 类型

解释:创建,并指定其Frame,默认Frame为(0,0,0,0)

    

static CAPageView* createWithCenter(const CCRect& rect, const CAPageViewDirection& type);

返回值:CAPageView*

参数:

类型 参数名 说明
CCRect& rect 大小
CAPageViewDirection&
type 类型

解释:创建,并指定其Center,默认Center为(0,0,0,0)


void setCurrPage(int var, bool animated, bool listener = false);

返回值:void

参数:

类型 参数名 说明
int var 页面数
bool animated 动画
bool listener 监听

解释:设置显示指定页

    

unsigned int getPageCount();

返回值:unsigned int

参数:

解释:获取页面总数


void setViews(const CADeque& vec);

返回值:void

参数:

类型 参数名 说明
CADeque& vec CADeque容器

解释:添加存放View的CADeque容器


void setViews(const CAVector& vec);

返回值:void

参数:

类型 参数名 说明
CAVector& vec CAVector容器

解释:添加存放View的CAVector容器


CAView* getSubViewAtIndex(int index);

返回值:CAView*

参数:

类型 参数名 说明
int index 索引

解释:通过索引获取子视图


virtual void setShowsScrollIndicators(bool var);

返回值:void

参数:

类型 参数名 说明
bool var 是否显示滚动条

解释:设置显示滚动条


bool init();

返回值:bool

参数:

解释:初始化








分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)