官术网_书友最值得收藏!

5.3 CocoStudio分辨率適配

可以使用CocoStudio來編輯界面,在CocoStudio中可以設置控件的相對位置和相對尺寸,并在不同的分辨率下進行預覽。

目前制作UI主要使用的是CocoStudio 1.6和CocoStudio 2.0以上的版本,對于CocoStudio 2.0以上的版本,在加載了UI文件之后,會返回一個根節點,將根節點添加到場景中,然后在不同的分辨率下運行可以發現UI文件中設置的相對坐標并沒有生效。這是因為在編輯UI時,所有的相對位置和相對尺寸都是相對于其父節點的,從UI文件中創建出來時,并沒有更新根節點的尺寸,所以創建出來的所有內容都是根據制作UI時的分辨率決定的。

如果需要使其分辨率適配生效,需要設置UI根節點的尺寸為當前場景的尺寸,并執行UIHelper的doLayout()方法,刷新整個UI的布局。

        Size frameSize = Director::getInstance()->getVisibleSize();
        node->setContentSize(frameSize);
        ui::Helper::doLayout(node);

在3.10版本的引擎中,CSLoader還提供了createNodeWithVisibleSize()方法用于加載CocoStudio 2.0以上版本輸出的節點文件,并自動刷新UI。

主站蜘蛛池模板: 元朗区| 千阳县| 兴业县| 同仁县| 清徐县| 临沭县| 甘孜县| 朔州市| 太仆寺旗| 偏关县| 昌吉市| 卓尼县| 仁寿县| 南江县| 怀远县| 安达市| 凤庆县| 罗田县| 驻马店市| 逊克县| 雷州市| 多伦县| 永平县| 盖州市| 东源县| 翁牛特旗| 论坛| 利辛县| 陆丰市| 英吉沙县| 朝阳市| 青岛市| 北流市| 阿鲁科尔沁旗| 中宁县| 肥乡县| 全椒县| 特克斯县| 景宁| 河西区| 定襄县|