我在cocostudio上编辑了个UI,里面有一个列表控件,用
ccs.GUIReader:getInstance():widgetFromJsonFile(“res/publish/zhuangbei.json”)加载到一个layer里
然后注册一个关闭按钮的监听,在监听回调函数那里调用layer的removeFromParent方法就崩溃了,请问有问题遇到这种情况吗?关闭UI是不是用removeFromParent的方法的????求救啊啊啊啊,搞了一下午了,跟代码发现在UIWidget里的onTouchEnded(Touch* touch,Event* unusedEvent)方法的releaseUpEvent方法,再跟进去发现在if(_touchEventListener && _touchEventSelector){ (_touchEventListener->*_touchEventSelector)(this,TOUCH_EVENT_ENDED);}这里崩溃了!!!
参考这个PR: https://github.com/cocos2d/cocos2d-x/pull/7567 修改一下Widget.cpp文件,主要是在回调里面加上retain/release就可以了。