我用的是cocos2dx2.2版本,textfield的settouchsize 只是一個樣式,點擊輸入框的時候只有點擊到文字才能進行輸入,當文本長度很短視,體驗感差的不行
直接說方法吧,廢話也沒人看、、
爲要點擊的區域增加 imageview
exchangeTextBg = dynamic_cast<ImageView *>(ui->getWidgetByName("reward_exchange_bg_0"));
exchangeTextBg->setTouchEnabled(true);
exchangeTextBg->addTouchEventListener(this,toucheventselector(RewardExchangePanel::onTouchExhcangeTextBg));
這個是textfieldexchangeTextField = dynamic_cast<TextField *>(ui->getWidgetByName("reward_exchange_text"));
頭文件
void onTouchExhcangeTextBg(CCObject *target,TouchEventType type);
區域觸摸函數,讓textfield直接調用attactWithIME()函數就可以了
void RewardExchangePanel::onTouchExhcangeTextBg(CCObject *target,TouchEventType type)
{
if( type != TouchEventType::TOUCH_EVENT_ENDED) return;
exchangeTextField->attachWithIME();
exchangeTextField->setColor(ccc3(70,155,87));
}
以後再也不用糾結輸入框點擊區域範圍太小的問題了,哈哈