使用uilayer创建一个层,层上按钮uibutton不能点击

使用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;

}

求解答。~~~

button->addTouchEventListener(CC_CALLBACK_2(UIButtonTest::touchEvent, this));

void UIButtonTest::touchEvent(Ref *pSender, Widget::TouchEventType type)
{
switch (type)

用的是cocos2dx2.2版本,按钮触摸监控也加了:

btn_Iknow->addTouchEventListener(this, toucheventselector(cReceiveMessage::IKnowBtnCallBack));

////
void cReceiveMessage::IKnowBtnCallBack(CCObject* pSender, TouchEventType type)
{
if (type == CCTOUCHENDED)
{
removeFromParent();
}
}

那你应该就是有东西遮挡了控件,事件被拦截

在编辑UI的 添加层的时候把交互关掉!