×

一、简介与环境搭建

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

CrossApp UIEdit(UI编辑器)


UI编辑器说明:

新添加CACell的布局编辑。

CATableViewCell、CACollectionViewCell和CAWaterfallViewCell都继承CACell。

CACell可单独使用,也可以运用到CATableViewCell、CACollectionViewCell和CAWaterfallViewCell。


UI编辑器CACell布局使用简单介绍:

FirstViewController.h文件:

#ifndef __HelloCpp__ViewController__
#define __HelloCpp__ViewController__
#include 
#include "CrossApp.h"
USING_NS_CC;
class FirstViewController: public CAViewController
{
     
public:
FirstViewController();
     
virtual ~FirstViewController();
     
protected:
     
    void viewDidLoad();
     
    void viewDidUnload();
     
    void onButton(CAButton* btn, DPoint point);
     
};
#endif /* defined(__HelloCpp__ViewController__) */

 FirstViewController.cpp文件:

#include "FirstViewController.h"
 
FirstViewController::FirstViewController()
{
 
}
 
FirstViewController::~FirstViewController()
{
 
}
 
void FirstViewController::viewDidLoad()
{
//    必须把新建项目的代码注释或者删除
//    Do any additional setup after loading the view from its nib.
//    DRect winRect = this->getView()->getBounds();
//    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("r/HelloWorld.png"));
//    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageCrop);
//    imageView->setFrame(winRect);
//    this->getView()->addSubview(imageView);
//
//    CALabel* label = CALabel::createWithCenter(DRect(winRect.size.width*0.5, winRect.size.height*0.5-270, winRect.size.width, 200));
//    label->setTextAlignment(CATextAlignmentCenter);
//    label->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);
//    label->setFontSize(_px(72));
//    label->setText("Hello World!");
//    label->setColor(CAColor_white);
//    this->getView()->insertSubview(label, 1);
//    
//    CCLog("%f", CAApplication::getApplication()->getWinSize().width);
     
    CACell* cell = CACell::create("cell1");
    cell->setLayout(DLayout(DHorizontalLayout_W_C(600, 0.5), DVerticalLayout_H_C(800, 0.5)));
    this->getView()->addSubview(cell);
    //以上代码以上代码CACell可替换成CATableViewCell、CACollectionViewCell和CAWaterfallViewCel等其中任何一种类型
     
    if(CAButton* btn = dynamic_cast(cell->getViewWithID("Button_1")))
    {
        btn->addTarget(this, CAControl_selector(FirstViewController::onButton),
                       CAControlEventTouchUpInSide);
    }
}
 
void FirstViewController::viewDidUnload()
{
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}
 
void FirstViewController::onButton(CAButton* btn, DPoint point)
{
    CACell* cell = CACollectionViewCell::create("cell1");
    cell->setLayout(DLayout(DHorizontalLayout_W_C(600, 0.5), DVerticalLayout_H_C(800, 0.5)));
    this->getView()->addSubview(cell);
     
    if (CAView* view = dynamic_cast(cell->getViewWithID("View_4")))
    {
        view->setColor(CAColor_red);
    }
}

UI编辑器Controller布局使用简单介绍:

FirstViewController.h文件:

#ifndef __HelloCpp__ViewController__
#define __HelloCpp__ViewController__
#include 
#include "CrossApp.h"
USING_NS_CC;
class FirstViewController: public CAViewController
{
     
public:
FirstViewController();
     
virtual ~FirstViewController();
     
protected:
     
    void viewDidLoad();
     
    void viewDidUnload();
     
    void onButton(CAButton* btn, DPoint point);
     
};
#endif /* defined(__HelloCpp__ViewController__) */

FirstViewController.cpp文件:

#include "FirstViewController.h"
 
FirstViewController::FirstViewController()
{
 
}
 
FirstViewController::~FirstViewController()
{
 
}
 
void FirstViewController::viewDidLoad()
{
//    必须把新建项目的代码注释或者删除
//    Do any additional setup after loading the view from its nib.
//    DRect winRect = this->getView()->getBounds();
//    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("r/HelloWorld.png"));
//    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageCrop);
//    imageView->setFrame(winRect);
//    this->getView()->addSubview(imageView);
//
//    CALabel* label = CALabel::createWithCenter(DRect(winRect.size.width*0.5, winRect.size.height*0.5-270, winRect.size.width, 200));
//    label->setTextAlignment(CATextAlignmentCenter);
//    label->setVerticalTextAlignmet(CAVerticalTextAlignmentCenter);
//    label->setFontSize(_px(72));
//    label->setText("Hello World!");
//    label->setColor(CAColor_white);
//    this->getView()->insertSubview(label, 1);
//    
//    CCLog("%f", CAApplication::getApplication()->getWinSize().width);
     
    //需要强制转换一下类型
    if(CAButton* btn = dynamic_cast(this->getViewWithID("MyButton")))
    {
        btn->addTarget(this, CAControl_selector(FirstViewController::onButton),
                       CAControlEventTouchUpInSide);
    }
}
 
void FirstViewController::viewDidUnload()
{
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}
 
void FirstViewController::onButton(CAButton* btn, DPoint point)
{
    if (CAView* view = getViewWithID("View_4"))
    {
        view->setColor(CAColor_magenta);
    }
}


分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)