求教! 用CocoStudio建的自带的DemoLogin的UI, 加截到项目中之后, 修改不了其中的Text的内容, 代码用的也是示例中的代码, 不过加了一点点, 如下:
m_pUILayer = Layer::create();
m_pUILayer->scheduleUpdate();
addChild(m_pUILayer);
// register root from json
m_pLayout = dynamic_cast<Layout*>(cocostudio::GUIReader::getInstance()->widgetFromJsonFile(“DemoLogin\DemoLogin.ExportJson”));
m_pUILayer->addChild(m_pLayout);
_displayValueLabel = static_cast<Text*>(Helper::seekWidgetByName(m_pLayout, “name_TextField”));
if(_displayValueLabel)
_displayValueLabel->setText(“te”);
运行到最后一行的时候报错, 错误提示如下0x00F1CDDD 处有未经处理的异常(在 Test.exe 中): 0xC0000005: 读取位置 0x00000277 时发生访问冲突。
我的Cocos2dx是3.0正式版. Studio是1.3.0.1.
我看了cpp-test示例代码, 不是这么写的, 是直接Text::create(), 所以setText没问题, 就想问一下, 难道加载CocoStudio后, 就不能改文本框的内容吗? 如果能, 应该要怎么写呢?
我在CocoStudio区也问了这个问题, 可惜一个多星期都没人能帮忙解决, 那边的版主给了 "建议不要在加载UI后直接修改UI "(参考http://www.cocoachina.com/bbs/read.php?tid=202222) 这样一个的建议, 呃, 我非常不理解为什么?
如果真的不建议直接修改UI, 那请问大家, 登陆的时候如果有用户登陆过默认加载最后一个登陆名是怎么实现的?
另外我试过lable是可以直接修改的. 请教大神都是怎么做的呀~~