—— 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();
Я не могу найти что-то не так, но даже не могуОткрытая клавиатура на клавиатуре при запуске.