CrossApp UIEdit(UI编辑器)

2018-09-08 15:15 更新

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);
    }
}

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号