void CATextToolBarView::show(CAView* pView) { CCSize winSize = CAApplication::getApplication()->getWinSize(); float alertViewButtonHeight = 88; float alertViewWidth = winSize.width * 2 / 3; CCRect rect = CCRect(winSize.width / 2, winSize.height / 2 - alertViewButtonHeight, alertViewWidth, alertViewButtonHeight); m_pBackView = CAClippingView::create(); m_pBackView->setCenter(rect); this->addSubview(m_pBackView); this->setTextTag("CATextToolBarView"); m_pBackView->setAlphaThreshold(0.5f); CAScale9ImageView *backgroundImageView = CAScale9ImageView::createWithFrame(m_pBackView->getBounds()); backgroundImageView->setImage(CAImage::create("source_material/alert_back.png")); m_pBackView->addSubview(backgroundImageView); m_pBackView->setStencil(backgroundImageView->copy()); size_t btnCount = m_CallbackTargets.size(); for (int i = 0; i < btnCount; i++) { CAButton* btn = CAButton::create(CAButtonTypeSquareRect); btn->setTitleForState(CAControlStateAll, m_CallbackTargets[i].cszButtonText.c_str()); btn->setTitleColorForState(CAControlStateAll, ccc4(3, 100, 255, 255)); btn->setBackGroundViewForState(CAControlStateNormal, CAView::createWithColor(CAColor_clear)); btn->setBackGroundViewForState(CAControlStateHighlighted, CAView::createWithColor(ccc4(226, 226, 226, 225))); btn->setTag(i); btn->addTarget(this, CAControl_selector(CATextToolBarView::alertViewCallback), CAControlEventTouchUpInSide); btn->setFrame(CCRect(i*alertViewWidth / btnCount, 0, alertViewWidth / btnCount, alertViewButtonHeight)); m_pBackView->addSubview(btn); if (i>0) { addGrayLine(alertViewWidth/btnCount * i); } } if (CAWindow *rootWindow = CAApplication::getApplication()->getRootWindow()) { rootWindow->insertSubview(this, CAWindowZOderTop); } becomeFirstResponder(); m_pControlView = pView; }