CocoStudio textfiled 文本点击区域按背景拉伸

在Cocos2d-x 2.2版本中,TextField的setTouchSize仅影响样式,实际点击输入区域受限于文字。为解决短文本时用户体验不佳的问题,可以为TextField增加ImageView来扩展可点击区域,实现背景拉伸。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我用的是cocos2dx2.2版本,textfield的settouchsize 只是一个样式,点击输入框的时候只有点击到文字才能进行输入,当文本长度很短视,体验感差的不行

直接说方法吧,废话也没人看、、

为要点击的区域增加 imageview

exchangeTextBg = dynamic_cast<ImageView *>(ui->getWidgetByName("reward_exchange_bg_0"));
	exchangeTextBg->setTouchEnabled(true);
	exchangeTextBg->addTouchEventListener(this,toucheventselector(RewardExchangePanel::onTouchExhcangeTextBg));
这个是textfield
exchangeTextField = 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));

}
以后再也不用纠结输入框点击区域范围太小的问题了,哈哈

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值