using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.UI; [RequireComponent(typeof(ContentSizeFitter))]
public class textBgControl : UIBehaviour { public int maxWidth = 630;
public int defaultHeight = 60;
private RectTransform bgRectTrans;
private RectTransform rectTrans;
private ContentSizeFitter sizeFitter;
private Text text;
private Vector2 sizedelta; void Start ()
{
bgRectTrans = transform.parent.GetComponent<RectTransform>();
rectTrans = GetComponent<RectTransform>(); text = GetComponent<Text>();
} protected override void OnRectTransformDimensionsChange()
{
bgRectTrans = transform.parent.GetComponent<RectTransform>();
rectTrans = GetComponent<RectTransform>(); text = GetComponent<Text>(); sizeFitter = GetComponent<ContentSizeFitter>();
if (rectTrans.sizeDelta.x > maxWidth)
{
text.horizontalOverflow = HorizontalWrapMode.Wrap;
float height = GetWidthOrHeight(RectTransform.Axis.Vertical); sizedelta.Set(maxWidth, height); bgRectTrans.sizeDelta = sizedelta;
}
else
{
float width = GetWidthOrHeight(RectTransform.Axis.Horizontal);
sizedelta.Set(width,defaultHeight);
bgRectTrans.sizeDelta = sizedelta;
}
} public float GetWidthOrHeight(RectTransform.Axis axis)
{
if (axis == RectTransform.Axis.Horizontal)
return rectTrans.rect.width;
return rectTrans.rect.height;
} }

  

可横竖控制的Text bg Control的更多相关文章

  1. 控制反转Inversion of Control (IoC) 与 依赖注入Dependency Injection (DI)

    控制反转和依赖注入 控制反转和依赖注入是两个密不可分的方法用来分离你应用程序中的依赖性.控制反转Inversion of Control (IoC) 意味着一个对象不会新创建一个对象并依赖着它来完成工 ...

  2. 自学Linux Shell15.2-作业控制命令(jobs/bg/nice/renice/at/atp/atrm/crontab)

    点击返回 自学Linux命令行与Shell脚本之路 15.1-作业控制命令(jobs/bg/nice/renice/at/atp/atrm/crontab) 1  控制作业 1.1查看作业 (jobs ...

  3. Windows Vista for Developers——第四部分:用户帐号控制(User Account Control,UAC)

    作者:Kenny Kerr 翻译:Dflying Chen 原文:http://weblogs.asp.net/kennykerr/archive/2006/09/29/Windows-Vista-f ...

  4. 转:Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)

    什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...

  5. Sublime Text Packages Control 安装

    一.简单的安装方法 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码: import urllib.request,os; pf = 'Packag ...

  6. sublime text package control 被墙的解决办法

    似乎没有办法 只能碰运气, 时好时坏. 或者手动安装 趁着好的时候, 下载离线包 https://packagecontrol.io/Package%20Control.sublime-package ...

  7. Oracle R12 多组织访问的控制 - MOAC(Multi-Org Access Control)

    什么是MOAC MOAC(Multi-Org Access Control)为多组织访问控制,是Oracle EBS R12的重要新功能,它可以实现在一个Responsibility下对多个Opera ...

  8. js控制input text字符键入/字符长度限制/字母自动大写

    功能: 1.仅允许指定字符键入 2.限制长度 实现代码: <input type="text" style="width: 6em" name=" ...

  9. 2.3 CMMI2级——项目跟踪和控制(Project Monitoring and Control)

    计划不是用来看的,是用来执行的.PP讲述了如何做计划,PMC讲述的就是如何跟踪计划的执行并在实际情况偏离计划时采取纠正行动. 我们先看看SG1,SG1讲述的是如何根据计划来跟踪计划的执行问题. SG1 ...

  10. 控制反转 (inversion of control)

    The inversion of control (IoC) pattern is abstract; it says that one should move dependency creation ...

随机推荐

  1. MySQL---索引、Explain、优化、慢查询

    索引  什么是索引? 索引是帮助Mysql提高获取数据的数据结构,换一句话讲就是"排好序的快速查找的数据结构". 一.索引的分类 MySQL主要的几种索引类型:1.普通索引.2.唯 ...

  2. 题解:AT_abc389_d [ABC389D] Squares in Circle

    假定原点为圆心. 我们只考虑点在第一象限的情况,剩下的情况同理. 因为圆心是原点,所以在圆内的点的横坐标一定在 \(r\) 之内. 枚举点的横坐标 \(x + \frac{1}{2}\),二分最大的 ...

  3. 天翼云边缘安全加速平台亮相2023亚太内容分发大会暨CDN峰会

    6月29日,第十二届亚太内容分发大会暨CDN峰会在北京召开.大会聚集了行业领/袖.专家和学者,深度探讨CDN的技术发展.应用与未来发展趋势,会上还公布了2023边缘加速创新企业榜单,中国电信天翼云成功 ...

  4. Protobuf生成文件报错

    Mac下protobuf生成文件报错问题解决办法,windows下就不会这么麻烦了,如果linux下出现类似报错信息按照下面的解决逻辑依然适用. 1.由--go_out引发的报错 1.报错信息: us ...

  5. Windows中安装和配置Maven

    1.下载 下载地址:https://maven.apache.org/download.cgi 下载文件:https://dlcdn.apache.org/maven/maven-3/3.9.6/bi ...

  6. Django设置跨域请求解决方案

    Django设置跨域请求解决方案 在现代Web开发中,跨域资源共享(CORS,Cross-Origin Resource Sharing)是一个常见的需求.尤其是在前后端分离的开发模式下,Django ...

  7. Linux iostat 命令详解

    Linux iostat 命令详解 在Linux系统管理中,监控磁盘I/O性能是一项至关重要的任务.iostat是sysstat包中的一个实用工具,用于监控和显示系统输入输出设备和CPU的使用情况.它 ...

  8. IDEA debug时候直接报ClassNotFoundException,代码正常,也可以正常运行

    原因,是因为在某些类误点了断点,需要取消

  9. Hetao P1391 操作序列 题解 [ 绿 ] [ 二维线性 dp ]

    操作序列:简单的二维 dp. 观察 我们每次操作可以让 \(x\) 变为 \(2x-1\),或者当 \(x\) 为奇数时让 \(x\) 变为 \(\frac{x+1}{2}\). 显然,执行第一种操作 ...

  10. 程序员的生产力神器Cursor -新手实操指南

    不得不说这个Cursor AI简直是神器中的神器! 代码自动补全就算了,关键是它能直接读懂我的意图,秒懂需求!为你自动生成整个项目级别的代码!开发过程丝滑得像在跟老朋友聊天,代码质量贼高,效率提升10 ...