官方文档 https://docs.unity3d.com/Manual/script-ContentSizeFitter.html
属性说明
Horizontal Fit: 宽度约束方式
● Unconstrained: 不执行任何调整
● Min Size: 只调整组件的最小尺寸(MinWidth)
● Preferred Size: 根据内容调整尺寸(Width)
Vertical Fit: 高度约束方式
● Unconstrained: 不执行任何调整
● Min Size: 只调整组件的最小尺寸(MinHeight)
● Preferred Size: 根据内容调整尺寸(Width)
Text挂上Content Size Fitter组件后,Width与Height将不能手动设置。
一个关联RectTransform Size的类
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 关联size
/// </summary>
public class RelevanceSizeFiter : MonoBehaviour
{
//要关联的RectTransform
public RectTransform relevance;
//关联宽度
public bool horizontalFit = false;
//关联高度
public bool verticalFit = false;
//更新方法
public UpdateMethod updateMethod;
private RectTransform rectTransform;
public enum UpdateMethod
{
Awake,
Start,
Update,
LateUpdate,
}
private void Awake()
{
rectTransform = this.GetComponent<RectTransform>();
if (updateMethod == UpdateMethod.Awake)
DoRelevance();
}
private void Start()
{
if (updateMethod == UpdateMethod.Start)
DoRelevance();
}
private void Update()
{
if (updateMethod == UpdateMethod.Update)
DoRelevance();
}
private void LateUpdate()
{
if (updateMethod == UpdateMethod.LateUpdate)
DoRelevance();
}
private void DoRelevance()
{
if (relevance == null)
return;
if (horizontalFit)
UGUITool.SetRectTransformWidth(rectTransform, relevance);
if (verticalFit)
UGUITool.SetRectTransformHeight(rectTransform, relevance);
}
}