×

一、简介与环境搭建

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

CANavigationController(导航控制器)


类说明

CANavigationController是CAViewController的子类,它的作用是管理多个CAViewController,我们要明白的是CANavigationController是使用堆栈的方式管理的,即我们每往CANavigationController添加一个CAViewController,则进行一次堆栈的操作,每次移除则进行一次出栈操作。


基类

CAViewController, CANavigationBarDelegate


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

属性 说明
NavigationBarHidden 导航栏隐藏
TouchMoved 触摸移动
NavigationBarBackGroundImage 导航栏背面图像
NavigationBarBackGroundColor 导航栏背面颜色
NavigationBarTitleColor 导航栏标题颜色
NavigationBarButtonColor 导航栏按钮颜色


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

方法
说明
initWithRootViewController 使用CAViewController来初始化,这个是必须的
replaceViewController 替换栈顶的viewController
pushViewController 将新的viewController压入栈顶
popViewControllerAnimated 移除栈顶的viewController
popToRootViewControllerAnimated 移除根的viewController
popFirstViewController 移除第一个viewController
popViewControllerAtIndex 根据索引值移除viewController
getViewControllerAtIndex 根据索引值获取viewController
getBackViewController 返回最后一个ViewController
getViewControllerCount 当前栈内viewController总数
setNavigationBarHidden 是否隐藏navigationBar
updateItem 更新navigationBarItem
ccTouchBegan 触摸事件开始时的回调函数
ccTouchMoved 触摸事件中触点移动时的回调函数
ccTouchEnded 触摸事件结束时的回调函数
ccTouchCancelled 触摸非正常结束(例如:电话或锁屏)
isReachBoundaryLeft 到左边界
isReachBoundaryRight 到右边界
isReachBoundaryUp 到上边界
isReachBoundaryDown 到下边界



创建与初始化

bool RootWindow::init()
{
    if (!CAWindow::init())
    {
        return false;
    }
     
    //创建Navigation
    CANavigationController* _viewController = new CANavigationController();
    
    //创建Navigation的第一个Controller
    FirstViewController* first = new FirstViewController();
      first->init();
     
    //使用一个controller初始化Navigation(必须)
    _viewController->initWithRootViewController(first);
     
    //RootWindow加载Navigation
    this->setRootViewController(_viewController);
    
    //释放内存
    first->release();
    
    //释放内存
    _viewController->release();
    return true;
}

样式属性

可控制样式:barItem位置、标题、左按钮、右按钮

bool RootWindow::init()
{
    if (!CAWindow::init())
    {
        return false;
    }
     
    //创建Navigation
    CANavigationController* _viewController = new CANavigationController();
     
    //创建Navigation的第一个Controller
    FirstViewController* first = new FirstViewController();
      first->init();
     
    //创建CANavigationBarItem并设置显示标题
    CANavigationBarItem* nItem = CANavigationBarItem::create("First");
     
    //创建左边按钮(右边按钮同理)
    CABarButtonItem* leftBtn = CABarButtonItem::create("", CAImage::create("source_material/btn_left_white.png"), CAImage::create("source_material/btn_left_blue.png"));
    
    //将leftBtn添加到CANavigationBarItem
    nItem->addLeftButtonItem(leftBtn);
     
    //将CANavigationBarItem添加到FirstViewController
    first->setNavigationBarItem(nItem);
     
    //使用一个controller初始化Navigation(必须)
    //CABarVerticalAlignmentBottom显示在底部
    _viewController->initWithRootViewController(first,CABarVerticalAlignmentBottom);
    
    //RootWindow加载Navigation
    this->setRootViewController(_viewController);
    
    //释放内存
    first->release();
    
    //释放内存
    _viewController->release();
    return true;
}



主要了解:CABarButtonItem这个类的样式

//根据title创建CANavigationBarItem
static CANavigationBarItem* create(const std::string& title);
 
//添加左边按钮
void addLeftButtonItem(CABarButtonItem* item);
 
//添加邮编按钮
void addRightButtonItem(CABarButtonItem* item);

管理

初始化

virtual bool initWithRootViewController(CAViewController* viewController,CABarVerticalAlignment var = CABarVerticalAlignmentTop);

替换

virtual void replaceViewController(CAViewController* viewController, bool animated);

增加

virtual void pushViewController(CAViewController* viewController, bool animated);

移除
  /*
    *移除栈顶的viewController
    *animated:是否播放动画
    */
    CAViewController* popViewControllerAnimated(bool animated);
     
    /*
    *移除根的viewController
    *animated:是否播放动画
    */
    void popToRootViewControllerAnimated(bool animated);
     
    /*
    *移除第一个viewController
    *animated:是否播放动画
    */
    CAViewController* popFirstViewController();
     
    /*
    *根据索引值移除viewController
    *animated:是否播放动画
    */
    CAViewController* popViewControllerAtIndex(int index);


CANavigationController 属性

NavigationBarHidden

类型:bool

解释:导航栏隐藏。is{}。


 TouchMoved

类型:bool

解释:触摸移动。is/set{}。    


NavigationBarBackGroundImage

类型:CAImage*,

解释:导航栏背面图像。set/get{}。


NavigationBarBackGroundColor

类型:CAColor4B

解释:导航栏背面颜色。set/get{}。


NavigationBarTitleColor

类型:CAColor4B

解释:导航栏标题颜色。set/get{}。


NavigationBarButtonColor

类型:CAColor4B

解释:导航栏按钮颜色。set/get{}。


CANavigationController 方法

virtual bool initWithRootViewController(CAViewController* viewController,CABarVerticalAlignment var = CABarVerticalAlignmentTop);

返回值:bool

参数:

类型 参数名 说明
CAViewController* viewController 初始化CAViewController
CABarVerticalAlignment var = CABarVerticalAlignmentTop CANavigationBar的现实样式

解释:使用CAViewController来初始化,这个是必须的

                                      

virtual void replaceViewController(CAViewController* viewController, bool animated);

返回值:void

参数:

类型 参数名 说明
CAViewController* viewController 新的viewController
bool animated 是否播放动画

解释:替换栈顶的viewController


      

virtual void pushViewController(CAViewController* viewController, bool animated);

返回值:void

参数:

类型 参数名 说明
CAViewController* viewController 新的viewController
bool animated 是否播放动画

解释:将新的viewController压入栈顶


CAViewController* popViewControllerAnimated(bool animated);

返回值:CAViewController*

参数:

类型 参数名 说明
bool animated 是否播放动画

解释:移除栈顶的viewController


void popToRootViewControllerAnimated(bool animated);

返回值:void

参数:

类型 参数名 说明
bool animated 是否播放动画

解释:移除根的viewController


CAViewController* popFirstViewController();

返回值:CAViewController*

参数:

解释:移除第一个viewController


CAViewController* popViewControllerAtIndex(int index);

返回值:CAViewController*

参数:

类型 参数名 说明
int index 移除第几个viewController

解释:根据索引值移除viewController


CAViewController* getViewControllerAtIndex(int index);

返回值:CAViewController*

参数:

类型 参数名 说明
int index 获取第几个viewController

解释:根据索引值获取viewController


CAViewController* getBackViewController();

返回值:CAViewController*

参数:

解释:返回最后一个ViewController


inline unsigned long getViewControllerCount() ;

返回值:unsigned long

参数:

解释:当前栈内viewController总数


virtual void setNavigationBarHidden(bool hidden, bool animated);

返回值:void

参数:

类型 参数名 说明
bool hidden 隐藏navigationBar
bool animated 是否播放动画

解释:是否隐藏navigationBar


void updateItem(CAViewController* viewController);

返回值:void

参数:

类型 参数名 说明
CAViewController* viewController 更新navigationBarItem

解释:更新navigationBarItem


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

返回值:bool

参数:

类型 参数名 说明
CATouch *pTouch 触摸传递对象
CAEvent *pEvent 此参数待定

解释:触摸事件开始时的回调函数

   

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

返回值:void

参数:

类型 参数名 说明
CATouch *pTouch 触摸传递对象
CAEvent *pEvent 此参数待定

解释:触摸事件中触点移动时的回调函数

  

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

返回值:void

参数:

类型 参数名 说明
CATouch *pTouch 触摸传递对象
CAEvent *pEvent 此参数待定

解释:触摸事件结束时的回调函数


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

返回值:void

参数:

类型 参数名 说明
CATouch *pTouch 触摸传递对象
CAEvent *pEvent 此参数待定

解释:触摸非正常结束时的回调函数。(例如:电话或锁屏)


virtual bool isReachBoundaryLeft();

返回值:virtual bool

参数:

解释:到左边界


virtual bool isReachBoundaryRight();

返回值:virtual bool

参数:

解释:到右边界


virtual bool isReachBoundaryUp();

返回值:virtual bool

参数:

解释:到上边界


virtual bool isReachBoundaryDown();

返回值:virtual bool

参数:

解释:到下边界




分类导航

关注微信下载离线手册

bootwiki移动版 bootwiki
(群号:472910771)