当前位置: 首页 > ai >正文

【Unity】Unity中ContentSizeFitter有时无法及时自适应大小问题解决

一、问题

unity中在做对话框跟随文本大小变化时,按照如下图设置时,绝大部分情况下都没有问题,但是小概率会出现对话框背景无法自适应文本的大小。

文本
文本
文本父节点,也就是文本的背景框
在这里插入图片描述

二、原因

是因为这个组件是在启用的下一帧执行的,所以我们会发现对Content的子物体重新赋值以改变其长度或者重新失活再激活子物体,可以使其刷新、生效。上面文本的背景小概率出现问题是因为刷新的下一个文本和上一个文本行数不一样,导致自适应不及时,

三、解决

解决此问题首先确认图示组件是否都正确配置,然后在赋值处加入以下两句代码

Canvas.ForceUpdateCanvases();
LayoutRebuilder.ForceRebuildLayoutImmediate(“你的ContentSizeFitter组件的RectTransform”);

也可以直接写一个ContentSizeFitter的扩展类

using UnityEngine;
using UnityEngine.UI;public static class ContentSizeFitterExtension
{public static void ResetFitter(this ContentSizeFitter contentSizeFitter){Canvas.ForceUpdateCanvases();RectTransform rectTransform = contentSizeFitter.gameObject.GetComponent<RectTransform>();if (rectTransform)LayoutRebuilder.ForceRebuildLayoutImmediate(rectTransform);}
}

调用方法

contentSizeFitter.ResetFitter();

Over~
觉得有用就点个赞吧
你的支持是我创作最大的动力~

http://www.xdnf.cn/news/17596.html

相关文章:

  • Baumer高防护相机如何通过YoloV8深度学习模型实现木板表面缺陷的检测识别(C#代码UI界面版)
  • python --- 基础语法(1)
  • Web 开发 14
  • [SC]如何使用sc_semaphore实现对共享资源的访问控制
  • 【网络运维】Linux和自动化:Ansible
  • 基于RAII的智能指针原理和模拟实现智能指针
  • 企业培训笔记:宠物信息管理--实现宠物信息的添加
  • NLP—词向量转换评论学习项目分析
  • 【Java项目与数据库、Maven的关系详解】
  • Docker部署kafka实操+Java中访问
  • 42.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成认证(一)
  • 云计算概述
  • 【web站点安全开发】任务2:HTML5核心特性与元素详解
  • GitLab CI + Docker 自动构建前端项目并部署 — 完整流程文档
  • 跨界重构规则方法论
  • TCP服务器网络编程设计流程详解
  • Linux Ansible的安装与基本使用
  • Linux:企业级WEB应用服务器TOMCAT
  • 技术干货|Kafka 如何实现零停机迁移
  • Stereolabs ZED相机 选型指南:双目 / 单目、短距 / 长距,如何为机器人视觉系统匹配最优方案?
  • selenium常见的与浏览器版本不兼容闪退问题
  • 计算机网络2-2:物理层下面的传输媒体
  • 【Node.js从 0 到 1:入门实战与项目驱动】2.2 验证安装(`node -v`、`npm -v`命令使用)
  • 计算机视觉(4)-相机基础知识恶补
  • Flink Redis维表:Broadcast Join与Lookup Join对比及SQL示例
  • 从零部署Nacos:替代Eureka的服务注册与服务发现基础教程
  • 使用Excel制作甘特图
  • 无人机三维路径规划
  • Python科学计算与可视化领域工具TVTK、Mayavi、Mlab、Traits(附视频教程)
  • 【PyTorch学习笔记 - 02】 Datasets DataLoaders