UguiText字体自适应文本框的大小

unity文本大小自适应文本框第一种方法

图片.png
using System.Collections;
using System.Collections.Generic;
using UnityEditor.VersionControl;
using UnityEngine;
using UnityEngine.UI;

public class Test : MonoBehaviour
{
    public enum StartAxisType
    {
        Horizontal,
        Vertical
    }

    public bool mAdaptiveSize = false;
    public StartAxisType mStartAxis = StartAxisType.Horizontal;
    public int mBeginFontSize;
    public Vector2 mRectSize;
    public Text mText;
    void Awake()
    {
        mRectSize = transform.GetComponent<RectTransform>().sizeDelta;
        mText = transform.GetComponent<Text>();
        mBeginFontSize = mText.fontSize;
    }

    void Start()
    {
        if (!mAdaptiveSize)
            return;
        switch (mStartAxis)
        {
            case StartAxisType.Horizontal:
                while (mText.preferredWidth > mRectSize.x)
                {
                    mText.fontSize -= 1;
                }
                break;
            case StartAxisType.Vertical:
                while (mText.preferredHeight > mRectSize.y)
                {
                    mText.fontSize -= 1;
                }
                break;
        }
    }
}

第二种,直接设置text上的BestFit属性为true即可

图片.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,713评论 0 17
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 10,024评论 0 11
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,977评论 1 45
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,324评论 19 139
  • /*flex布局*/display: flex;align-items: flex-end;优点:只在父元素上设置...
    cooore阅读 2,256评论 0 0