请问cc.EditBox怎样设置其文本居中显示

:6::6::6:

:6::6::6::6:

:6::6::6:

:6::6::6:

:6::6::6::6:

每日一顶:6::6:

每日一顶:6::6::6:

:6: :6: :6:

-x应该是没这办法的…不知道安卓和苹果那边有没,因为这东西最终还是调用那两个系统自动的EditBox,我有个想法不知道可不可以,一开始插一堆的空格到输入条中间为止,然后每次输入自己计算位置,删减空格,不断的setString();
不知道可不可以,毕竟没实践过。

多谢!太感动了终于有人回了:6:

改底层,我的是2.2.5版的,CCEditBoxImplIOS::initWithSize(const CCSize& size)函数里面m_systemControl = initWithFrame:rect editBox:this];
if (!m_systemControl) break;后面加上m_systemControl.textField.textAlignment = NSTextAlignmentCenter

还有一些别的部分,CCEditBoxImplIOS::initInactiveLabels(const CCSize& size)里面将m_pLabel,m_pLabelPlaceHolder设置为居中对齐

:7::7:还有这种方法啊…没试过,改天试下

多谢 :7: :7:

你好,我按着方法,也是靠左,不能居中呀?

失去焦点,又左对齐了,怎么解决:2:

一样,关注一下

bool CCEditBoxImplIOS::initWithSize(const CCSize& size)
{
do
{
CCEGLViewProtocol* eglView = CCEGLView::sharedOpenGLView();

    CGRect rect = CGRectMake(0, 0, size.width * eglView->getScaleX(),size.height * eglView->getScaleY());

    float factor =  contentScaleFactor];
    rect.size.width /= factor;
    rect.size.height /= factor;
    
    m_systemControl =  initWithFrame:rect editBox:this];
    if (!m_systemControl) break;
    m_systemControl.textField.textAlignment =  NSTextAlignmentCenter;

    initInactiveLabels(size);
    setContentSize(size);
    
    return true;
}while (0);

return false;

}

void CCEditBoxImplIOS::initInactiveLabels(const CCSize& size)
{
const char* pDefaultFontName = UTF8String];

m_pLabel = CCLabelTTF::create("", "", 0.0f,size,kCCTextAlignmentCenter,kCCVerticalTextAlignmentBottom);
m_pLabel->setAnchorPoint(ccp(0, 0.5f));
m_pLabel->setColor(ccWHITE);
m_pLabel->setVisible(false);

m_pEditBox->addChild(m_pLabel, kLabelZOrder);


m_pLabelPlaceHolder = CCLabelTTF::create("", "", 0.0f,size,kCCTextAlignmentCenter,kCCVerticalTextAlignmentBottom);
// align the text vertically center
m_pLabelPlaceHolder->setAnchorPoint(ccp(0, 0.5f));
m_pLabelPlaceHolder->setColor(ccGRAY);
m_pEditBox->addChild(m_pLabelPlaceHolder, kLabelZOrder);

setFont(pDefaultFontName, size.height*2/3);
setPlaceholderFont(pDefaultFontName, size.height*2/3);

}

v3.10 版本的 Editbox问题更严重,文字倒是有居中,但是点出输入框弹出键盘后,整个文字往上偏移,关闭输入又恢复居中。PlaceHolder的字号和正文的字号明明设置相同,但PlaceHolder明显被放大了。

请问改底层的具体步骤是什么 小白不知道怎么改。