1

——1、我创建cclayer的子类:

class LogoInLayer : public cocos2d::CCLayer
{

public:

    void onEnter();
    void onExit();
    void registerWithTouchDispatcher();
    bool ccTouchBegan(CCTouch* pTouch, CCEvent* event);
    void ccTouchEnded(CCTouch* pTouch, CCEvent* event);
    void ccTouchMoved(CCTouch *pTouch, CCEvent *pEvent);
    void keyMenuClicked();
    void keyBackClicked();

};

——2、在onEnter方法中,我创建了一个CCTextFieldTTF指针并设置:

CCTextFieldTTF * l = CCTextFieldTTF::textFieldWithPlaceHolder("12345567", "", 25);

l->setPosition(ccp(200,200));

addChild(l, 5,1234);

    this->setIsTouchEnabled(true);
    this->setIsKeypadEnabled(true);

——3、同时重写 registerWithTouchDispatcher() 方法:

void LogoInLayer::registerWithTouchDispatcher()
{

    CCTouchDispatcher::sharedDispatcher()
      ->addTargetedDelegate(this, kCCMenuTouchPriority + 2, true);

}

——4、然后我在CCTouchBegan中写代码:

CCTextFieldTTF* l = (CCTextFieldTTF*)this->getChildByTag(1234);

l->attachWithIME();

我找不到任何问题,但运行时甚至无法在键盘上打开键盘。

4

0 回答 0