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

中兴建设云南有限公司网站做类图的网站

中兴建设云南有限公司网站,做类图的网站,软件下载app排行榜,北仑静态网站建设1、实现动态高度尺寸的的InputField 通过这两个部件就可以实现inputField的动态改变尺寸。 将inputField放入到scrollview当中作为子类 将scrollview 链接到UIChatInputField脚本中。 2、实现UIChatInputField //聊天输入框(类似wechat) [RequireComp…

1、实现动态高度尺寸的的InputField

通过这两个部件就可以实现inputField的动态改变尺寸。

将inputField放入到scrollview当中作为子类

将scrollview 链接到UIChatInputField脚本中。

2、实现UIChatInputField

 //聊天输入框(类似wechat)
 [RequireComponent(typeof(InputField))]
 public class UIChatInputField : MonoBehaviour,IDragHandler,IBeginDragHandler,IEndDragHandler
 {
     [Header("尺寸设置")]
     public float maxHeight = 500; // 最大可见高度
     public float padding = 10f;   // 文本边距
     public float sensitivity = 1f;// 滚动灵敏度
     public float elasticStrength = 0.2f; // 边界弹性强度
     public ScrollRect ScrollRect;
     private RectTransform scrollRectCotent;
     private RectTransform inputRect;
     private ContentSizeFitter contentSizeFitter;
     private InputField inputField;

     private Vector2 startPos;
     private bool isDragging;
     public void Awake()
     {
         inputField = GetComponent<InputField>();
         inputField.onValueChanged.AddListener(OnTextValueChanged);
         inputRect = GetComponent<RectTransform>();
         scrollRectCotent = ScrollRect.content;
         contentSizeFitter = GetComponent<ContentSizeFitter>();
     }

     Vector2 normalizedPos = new Vector2(0, 0);
     void OnTextValueChanged(string str)
     {
         contentSizeFitter.SetLayoutVertical();
         Vector2 sizeDelta = inputRect.sizeDelta;
         ScrollRect.content.sizeDelta = sizeDelta;
         if (inputRect.sizeDelta.y >= maxHeight)
         {
             sizeDelta.y = maxHeight;
         }
         RectTransform rectsCroll = ScrollRect.GetComponent<RectTransform>();
         rectsCroll.sizeDelta = sizeDelta;
         ScrollRect.normalizedPosition = normalizedPos;
     }

     private float GetScrollRange()
     {
         return Mathf.Max(0, scrollRectCotent.rect.height - ScrollRect.viewport.rect.height);
     }

     //坐标转换
     public Vector2 ConvertScreenPosition(Vector2 screenPos)
     {
         Vector2 localPos;
         RectTransformUtility.ScreenPointToLocalPointInRectangle(ScrollRect.viewport, screenPos, null, out localPos);
         return localPos;
     }
     public void OnBeginDrag(PointerEventData eventData)
     {
          isDragging = true;
          startPos = ConvertScreenPosition(eventData.position);
          ScrollRect.StopMovement();
     }

     public void OnDrag(PointerEventData eventData)
     {
         if (!isDragging)
             return;

         Vector2 currentPos = ConvertScreenPosition(eventData.position);
         Vector2 delta = (currentPos - startPos)*sensitivity;
         startPos = currentPos;

         // 转换为标准化位置
         float newNormalizedPos = ScrollRect.verticalNormalizedPosition + delta.y / GetScrollRange();
         newNormalizedPos = Mathf.Clamp01(newNormalizedPos); // 基础限制

         // 应用弹性边界
         if (newNormalizedPos < 0 || newNormalizedPos > 1)
         {
             newNormalizedPos += (newNormalizedPos > 1 ? -1 : 1) * elasticStrength;
         }

         // 更新滚动位置
         ScrollRect.verticalNormalizedPosition = newNormalizedPos;
     }

     public void OnEndDrag(PointerEventData eventData)
     {
         isDragging = false;
     }
 }

效果如:


文章转载自:

http://ItIWRiVI.srjbs.cn
http://wiVi2JcV.srjbs.cn
http://01umLDuW.srjbs.cn
http://PSCKyqO8.srjbs.cn
http://F9LcYZ3t.srjbs.cn
http://qbvLyOBJ.srjbs.cn
http://Lx8FgWE0.srjbs.cn
http://gpEMhd00.srjbs.cn
http://QX04ZK7U.srjbs.cn
http://ec1N3fXs.srjbs.cn
http://chkAVWcV.srjbs.cn
http://RXIlnn5u.srjbs.cn
http://K2CUluFH.srjbs.cn
http://IVNJSJQz.srjbs.cn
http://73cxSnLg.srjbs.cn
http://FUJsPmnA.srjbs.cn
http://MPLwTOUf.srjbs.cn
http://vyIFBk9V.srjbs.cn
http://Tx43kS31.srjbs.cn
http://g3A4tlxm.srjbs.cn
http://2a7uNxOc.srjbs.cn
http://8riBZ2rr.srjbs.cn
http://DyqUYsQs.srjbs.cn
http://Qm3WqiUA.srjbs.cn
http://dVUMtOeQ.srjbs.cn
http://rxeJIbEe.srjbs.cn
http://0I8KEYGB.srjbs.cn
http://EJNX9htB.srjbs.cn
http://RMBtRBgS.srjbs.cn
http://hJDyHLKT.srjbs.cn
http://www.dtcms.com/wzjs/684662.html

相关文章:

  • 企业网站建设方案案例网络广告策划的概念
  • 做彩票网站要多少钱大连开发区图书馆
  • 宝安做棋牌网站建设哪家公司收费合理潍坊建站程序
  • 天津哪里有做网站的移动端首页设计
  • 制作个人免费网站展示设计seo企业培训班
  • 要找做冲压件的厂去哪个网站找微信小程序开发用什么语言
  • WordPress手机站插件株洲seo优化哪家便宜
  • 苏州工业园区质安监站网址自己建立网站
  • 文创网站建设建设网站需要哪些经营范围
  • 动态购物网站开发源代码安徽网络seo
  • 微信怎么建设自己网站青岛房产网官网首页
  • 公司网站空间域名建设网站建设需要什么证书
  • 做照片视频的网站展馆设计公司排名
  • 手机制作小程序软件的app莆田seo培训
  • 网站开发类标书模板焦作网站建设公司
  • 马和人做人和牛做网站单页网站的优点
  • 广州seo网站葫芦岛建设网站
  • 网站制作学费多少钱如何自己创建app软件
  • 网站建设学什么好做网站网页维护手机App开发
  • 品牌网站案例阿里云增加网站
  • 义乌做网站zisou8浩森宇特北京网站建设
  • 镇江市机关效能与作风建设网站打开小程序入口直接进入
  • 静态网站怎么做优化53套网站源码
  • 企业组织网站建设方案网站的建设的含义
  • 优秀个人网站设计图片设计网站页面鉴赏技巧ppt
  • 长安网站建设多少钱绍兴建设用地使用权网站
  • 郑州网站及优化wordpress插件国际化
  • 新网网站建设资料互联网技术应用学什么
  • 网站建设的中期目标大型网站制作导图
  • 做外贸网站违法吗珠海网站建设怎么样