欢迎光临
我们一直在努力

【Unity UGUI源码深度解析】17|ContentSizeFitter与AspectRatioFitter源码解析:自适应尺寸与布局驱动冲突

《UGUI源码深度解析》第 17 篇 · 界面小组工作日志 基准:Unity 2022.3.62f2c1 / 本地 UGUI 1.0.0。 人物与项目情节为虚构;源码机制以本地实现为准。

在这里插入图片描述

一、尺寸刚改好,怎么又弹回去了?

阿澈拖动详情图片的宽度,松手后数值又变了。它的父对象有 HorizontalLayoutGroup,自己有 ContentSizeFitter,旁边还准备加 AspectRatioFitter。

我第一反应是“布局有延迟”,阿澈却指着 Inspector:“也可能是有三个人都在改这一个数。”

这次他的猜测更接近根因。我们不先加 ForceRebuild,而是列一张控制权表:谁读宽度,谁写宽度,谁又根据宽度写高度。

二、ContentSizeFitter只负责改自己

ContentSizeFitter 是 ILayoutSelfController。横纵轴分别选择 Unconstrained、MinSize 或 PreferredSize。它通过 LayoutUtility 读取本对象上的布局需求,再调用 SetSizeWithCurrentAnchors 调整自身尺寸。

源码的核心选择如下:

赞(0)
未经允许不得转载:171主机测评 » 【Unity UGUI源码深度解析】17|ContentSizeFitter与AspectRatioFitter源码解析:自适应尺寸与布局驱动冲突
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址