我都不知道用什么标题创建了,这个应该也是一个BUG

用prefab动态创建多个scrollview在非浏览器下的会挡住后面的点击

creator版本1.4.2

写一个邮箱功能,很简单的结构
mailPanel
|
|----list-------scrollview用来显示N多封邮件
|
|----content----scrollview用来显示邮件内容,因为要支持几页文字,所以用了scroll

这个结构够简单了吧,把mainPanel做成一个prefab,在点按钮的时候动态创建,挂在当前canvas上最上面显示。

浏览器一切正常,所以这个BUG是测试同学告诉我的。

用模拟器打开,点邮箱按钮,mainpanel正常显示,点关闭按钮,mailPanel.active = false,界面不见了。
再点击content-----scrollview区域后面的按钮,按钮无法响应。

另外一种方法,prefab不用动态创建,直接拖到想显示的canvas下面,还原成普通节点,运行模拟器,一切正常。

另外,老说title无效是怎么回事了, 已经很长了啊…………是因为我在搜索下新建的?还是因为还没登录?(用prefab动态创建多个scrollview在非浏览器下的会挡住后面的点击)

又做了一堆试验,问题应该出在这里

动态创建的时候我操作了content节点的active属性(prefab里面默认为true),用代码把它设为false,

如果去prefab里面把content的勾去掉,即默认active = false,代码里面不设置active,表现正常。

所以猜测是prefab的初始化过程还没有完成,就修改子节点的属性,导致初始化工作出问题了。

推测new完prefab后隔几秒再去修改子节点属性,应该会正常。不过这种方式没什么意义,就没去试了。

抱歉这是一个原生平台上的事件 bug,1.5.1 会修复的,你可以试试最新测试版。

title 无效是因为“title 太长”。。。

太长了?我一直以为太短了,一直加,下次我改短一点

PS:顺路说一下另外一个相似的小问题。第一天用creator的时候,在脚本里面定义了一个变量,然后在面板改了他的值。代码中把这个值打印出来,结果发现浏览器读不到这个新值而模拟器可以。

是这样的,如果你修改了场景(在编辑器中改了值),这时需要点击刷新按钮,或者保存场景,浏览器才会刷新。(模拟器没这个必要)

你可以先试试 把邮件的显示页面从屏幕外面滑动进来显示在邮件目录上面?不用active false?我是这么做的,但是还没试IOS端有没有你说的问题,明早起来再帮你试吧
躺床上睡不着,扎心。

知道原因了倒是很容易避免,只是不知道的人可能会不小心掉,还好后面的版本修复了