codecamp

CrossApp UIEdit(UI编辑器)

UI编辑器说明:

新添加CACell的布局编辑。

CATableViewCell、CACollectionViewCell和CAWaterfallViewCell都继承CACell。

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


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

FirstViewController.h文件:

#ifndef __HelloCpp__ViewController__
#define __HelloCpp__ViewController__
#include <iostream>
#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<CAButton*>(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<CAView*>(cell->getViewWithID("View_4")))
    {
        view->setColor(CAColor_red);
    }
}

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

FirstViewController.h文件:

#ifndef __HelloCpp__ViewController__
#define __HelloCpp__ViewController__
#include <iostream>
#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<CAButton*>(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);
    }
}

CAActivityIndicatorView(活动指示器)
CAViewController(视图控制器)
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

四、调用系统支持

八、宏定义

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }