国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

CAViewController(視圖控制器)

2018-09-08 15:30 更新

類說明

CAViewController是CrossApp中MVC中的C(控制器),它的作用是用于CAView的管理、控制視圖及CAViewController之間的通信與協(xié)調。CAViewController是所有CrossApp中Controller的基類。


基類

CAContentContainer, CAKeypadDelegate


CAViewController 屬性(點擊查看方法介紹)

屬性方法
Title標題
NavigationController獲取NavigationController
NavigationBarItem獲取NavigationBarItem
TabBarController獲取TabBarController
TabBarItem獲取TabBarItem


CAViewController 方法(點擊查看方法介紹)

方法說明
init初始化
getNibName返回類型的名稱
isViewRunning當前View是否再運行
setNavigationBarItem設置CANavigationBarItem屬性
setTabBarItem設置CATabBarItem屬性
presentModalViewController彈出一個CAViewController
dismissModalViewController移除CAViewController
isKeypadEnabled設置監(jiān)聽物理返回鍵
setKeypadEnabled設置監(jiān)聽物理返回鍵
getView獲取當前CAViewController的View根節(jié)點
nextResponder獲得下個監(jiān)聽者
ccTouchBegan觸摸事件開始時的回調函數
ccTouchMoved觸摸事件中觸點移動時的回調函數
ccTouchEnded觸摸事件結束時的回調函數
ccTouchCancelled觸摸非正常結束時的回調函數。(例如:電話或鎖屏)
viewDidLoad當前控制器的view被加載完畢后調用
viewDidUnload當前控制器的view被移除掉時調用
viewDidAppear顯示時被調用
viewDidDisappear隱藏時被調用
reshapeViewRectDidFinish當前view被修改大小時被自動調用
keyBackClickedback鍵響應函數(android平臺)
keyMenuClickedmenu鍵響應函數(android平臺)
addViewFromSuperview將自己添加到根節(jié)點View
removeViewFromSuperview將自己從根節(jié)View點移除


生命周期

viewDidLoad() //第一次被加載時調用(僅有一次會被調用)

viewDidAppear() //顯示時被調用(例如TableController切換到顯示)

viewDidDisappear() //隱藏時被調用(例如TableController切換到其他Controller

viewDidUnload() //移除時被調用(僅有一次會被調用)


注意:

Window直接加載的CAViewController顯示時不會調用viewDidAppear()函數

CAViewController之間的管理


切換

如果CAViewController是直接被CAWindow所加載的,那么它就可以直接使用presentModalViewController(CAViewController* controller, bool animated);來跳轉到新的CAViewController,或通過dismissModalViewController(bool animated);對當前的CAViewController關閉。


嵌套

CAViewController是可以相互嵌套管理的,例如CATableController可以管理多個其他的CAViewController.


例如:

bool RootWindow::init()
{
    if (!CAWindow::init())
    {
        return false;
    }
     
    CAViewController* controller1 = new CAViewController();
    CAViewController* controller2 = new CAViewController();
    CAViewController* controller3 = new CAViewController();
    CAViewController* controller4 = new CAViewController();
     
    CAVector<CAViewController*> vec;
    vec.pushBack(controller1);
    vec.pushBack(controller2);
    vec.pushBack(controller3);
    vec.pushBack(controller4);
     
    //創(chuàng)建一個CATabBarController
    CATabBarController* tabBarController = new CATabBarController();
     
    //將CAVector<CAViewController*>添加到CATabBarController
    tabBarController->initWithViewControllers(vec);
     
    //將tabBarController添加到當前的Window
    this->setRootViewController(tabBarController);
     
    //釋放內存
    controller1->release();
    controller2->release();
    controller3->release();
    controller4->release();
    tabBarController->release();
}


這樣就使用CATabBarController來管理CAViewController的顯示與隱藏了

CAView的管理

一般我們會把邏輯代碼寫到viewDidLoad()方法中,我回把所要顯示的CAView通過this->getView()->addSubview(CrossApp::CAView *child);添加到m_pView的子節(jié)點上。


例如:

void CopybookViewController::viewDidLoad()
{
    _winRect = this->getView()->getBounds();
     
    CAImageView* imageView = CAImageView::createWithImage(CAImage::create("r/HelloWorld.png"));
    imageView->setImageViewScaleType(CAImageViewScaleTypeFitImageCrop);
    imageView->setFrame(_winRect);
     
    this->getView()->addSubview(imageView);
}

CAViewController 屬性

 Title

類型:std::string

解釋:標題。set/get{}。

    

NavigationController

類型:CANavigationController*

解釋:獲取NavigationController屬性。get{}。


NavigationBarItem

類型:CANavigationBarItem*

解釋:獲取NavigationBarItem屬性。get{}。


TabBarController

類型:CATabBarController*

解釋:獲取TabBarController。get{}。


TabBarItem

類型:CATabBarItem*

解釋:獲取TabBarItem。get{}。


CAViewController 方法

virtual bool init();

返回值:bool

參數:

解釋:初始化,默認返回true,如果返回false則初始化失敗


const char* getNibName();

返回值:const char*

參數:

解釋:返回類型的名稱


bool isViewRunning();

返回值:bool

參數:

解釋:當前View是否再運行


void setNavigationBarItem(CANavigationBarItem* item); 

返回值:void

參數:

類型
參數名說明
CANavigationBarItem*item項目

解釋:設置CANavigationBarItem屬性(只有被CANavigationController管理才會顯示)


void setTabBarItem(CATabBarItem* item);

返回值:void

參數:

類型
參數名說明
CANavigationBarItem*item項目

解釋:設置CATabBarItem屬性(只有被CATableController管理才會顯示)


void presentModalViewController(CAViewController* controller, bool animated);

返回值:void

參數:

類型
參數名說明
CAViewController*controller要彈出的CAViewController
boolanimated是否需要彈出動畫

解釋:彈出一個CAViewController



void dismissModalViewController(bool animated);

返回值:void

參數:

類型
參數名說明
boolanimated是否需要動畫

解釋:移除CAViewController


virtual bool isKeypadEnabled();

返回值:virtual bool

參數:

解釋:是否監(jiān)聽物理返回鍵(android的Back鍵或pc的Esc鍵)


virtual void setKeypadEnabled(bool value);

返回值:virtual void 

參數:

類型
參數名說明
boolvaluetrue允許,false禁止

解釋:設置是否監(jiān)聽物理返回鍵,默認為false


 

virtual CAView* getView();

返回值:CAView*

參數:

解釋:當前CAViewController的View根節(jié)點


virtual CAResponder* nextResponder();

返回值:CAResponder*

參數:

解釋:獲得下個監(jiān)聽者


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 void viewDidLoad() {};

返回值:void

參數:

解釋:當前控制器的view被加載完畢后調用


virtual void viewDidUnload() {};

返回值:void

參數:

解釋:當前控制器的view被移除掉時調用


virtual void viewDidAppear() {};

返回值:void

參數:

解釋:顯示時被調用

   

virtual void viewDidDisappear() {};

返回值:void

參數:

解釋:隱藏時被調用

   

virtual void reshapeViewRectDidFinish() {};

返回值:void

參數:

解釋:當前view被修改大小時被自動調用


virtual void keyBackClicked() {};

返回值:void

參數:

解釋:back鍵響應函數(android平臺)


virtual void keyMenuClicked() {};

返回值:void

參數:

解釋:menu鍵響應函數(android平臺)


virtual void addViewFromSuperview(CAView* node);

返回值:void

參數:

類型
參數名說明
CAView*node節(jié)點

解釋:將自己添加到根節(jié)點View(例如window,也可是其他View)


virtual void removeViewFromSuperview();

返回值:void

參數:

解釋:將自己從根節(jié)View點移除

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號