cuixueying 本篇文章将告诉大家IDE下分离模式的使用方法,项目使用的是IDE自动创建的UI项目,AS3语言版本 下面我们采取分离模式对IDE自动生成的TestPage.ui界面进行分离以及在项目中中进行加载和显示 分离模式的主要作用是: 将UI界面上所有组件的属性、界面布局等逻辑与界面内容分离开,如下所示 内嵌模式下发布的UI类(默认模式) 分离模式下发布的UI类(很明显uiView数据已经没有了,因为它被单独分离成一个json文件了) 单独分离出来的文件 下面我们需要做的就是将分离出来的文件应用在我们的项目中,让项目正常加载 步骤一:打开IDE,按下F9快捷键,修改内嵌模式为加载模式 步骤二:准备好需要分离的界面(AAA.ui作为参考,TestPage.ui我们后续针对它进行操作) 步骤三:F12,发布(将TestPage.json与TestPageUI.as类进行分离,TestPage.json即为uiView包含的数据) 步骤四:预加载TestPage.json文件 步骤五:打开TestPageUI.as类,在createChildren函数下loadUI方法之上根据TestPage.json视图数据创建视图。 步骤六:Publish_h5发布项目,运行效果如下
155*****583 还有分离模式下,this.createView(Loader.getRes("../test/TestPage.json"))只能放在对应的 ui 类里面加吗,这样每次导出不就覆盖了,很不方便啊
HennoLuo @xcling的问题:1. 在设计模式下,F9打开项目设置,里面有加载UI发布目录,可以修改json的导出路径。例如将bin/ui.json改为,bin/json/ui.json,那么分离模式的json就会导出到bin/json下 2.我参考了加载模式的例子,建议你试试在new ViewTest()前面加上View.uiMap["test/TestPage"]= Laya.loader.getRes("../test/TestPage.json");另外也可以通过修改IDE的导出内容,把代码加到自动导出的内容里面。导出相关逻辑在编辑器目录的layabuilder.max.js下,自行搜索一下吧 @AIQR2013的问题:区别是分离模式下json文件可以单独更新,而不用更新layaUI.max.all.ts文件。例如修改了UI布局。