使用uilayer创建一个层,层上按钮uibutton不能点击;代码如下:
bool cReceiveMessage::init(char* message)
{
if (!UILayer::init())
{
return false;
}
setTouchEnabled(true);
setTouchMode(kCCTouchesOneByOne);
setScaleY(SCALEY);
UIImageView* spritebg = UIImageView::create();
spritebg->loadTexture("Message_bg.png", UI_TEX_TYPE_PLIST);
spritebg->setAnchorPoint(ccp(0, 0));
spritebg->setPosition(ccp(0, 0));
this->addChild(spritebg);
this->setContentSize(spritebg->getContentSize());
/////信息文本
UILabel* label_message = UILabel::create();
label_message->setText(message);
label_message->setColor(ccBLACK);
label_message->setAnchorPoint(ccp(0.5f, 0.5f));
label_message->setFontSize(30);
label_message->setPosition(ccp(getContentSize().width/2, getContentSize().height/2));
this->addChild(label_message);
////我知道了
UIButton* btn_Iknow = UIButton::create();
btn_Iknow->loadTextures("btn_Iknow_nomal.png", "btn_Iknow_press.png", NULL, UI_TEX_TYPE_PLIST);
btn_Iknow->addTouchEventListener(this, toucheventselector(cReceiveMessage::IKnowBtnCallBack));
btn_Iknow->setPosition(ccp(370, 45));
btn_Iknow->setTouchEnabled(true);
this->addChild(btn_Iknow);
///回复他
UIButton* btn_Answer = UIButton::create();
btn_Answer->loadTextures("btn_answer_nomal.png", "btn_answer_press.png", NULL, UI_TEX_TYPE_PLIST);
btn_Answer->addTouchEventListener(this, toucheventselector(cReceiveMessage::AnswerBtnCallBack));
btn_Answer->setPosition(ccp(130, 45));
btn_Answer->setTouchEnabled(true);
this->addChild(btn_Answer);
return true;
}
请各位大神帮忙看看,为什么手动创建的ui按钮不能点击。另外,并不是优先级的问题,重载touch函数没有问题,如下
/////
bool cReceiveMessage::ccTouchBegan(CCTouch* touch, CCEvent* event)
{
CCRect buttonRect = CCRectMake(0, 0, getContentSize().width, getContentSize().height);
if ( !buttonRect.containsPoint(convertTouchToNodeSpace(touch)) )
{
removeFromParent();
}
return true;
}
求解答。~~~