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

娱乐网站制作上海设计展2021室内设计

娱乐网站制作,上海设计展2021室内设计,wordpress为何经常被黑,做电商网站一般需要什么流程图先看实现效果: 要实现这个效果,有三个方面的问题需要解决: 第一,输入框的高度扩展,内部子元素会随着锚点,拉伸变形——要解决这个问题,需要将内部元素改变父类,然后增加父类高度&am…

先看实现效果:

要实现这个效果,有三个方面的问题需要解决:

第一,输入框的高度扩展,内部子元素会随着锚点,拉伸变形——要解决这个问题,需要将内部元素改变父类,然后增加父类高度,再恢复父类,这样内部元素(如图中两个按钮),就不会随着高度增加,而拉伸变形。类似代码如下:

private void ChangeInputHeight(float heightChange)
{// disable the effect of parent size changes on child layoutsthis.finishRecordRT.SetParent(null);this.recordRT      .SetParent(null);if (heightChange != 0.0f){this.inputFieldRT.SetRelativeSizeY(heightChange);this.inputBarHeightChange += heightChange;}else {this.inputFieldRT.SetRelativeSizeY(-this.inputBarHeightChange);this.inputBarHeightChange = 0.0f;}this.finishRecordRT.SetParent(this.inputBarRT);this.recordRT      .SetParent(this.inputBarRT);
}

第二,注册inputField.onValueChanged去监听,输入框的文本变化,并通过inputField.textComponent.textInfo的行变化,去判断换行发生。

private void OnInputFieldValueChanged(string text)
{var textInfo  = this.inputField.textComponent.textInfo;var lineCount = textInfo.lineCount;if (this.inputFieldPreTextLineCount != lineCount){this.ChangeInputHeight(this.inputFieldLineHeight * (lineCount - this.inputFieldPreTextLineCount));this.inputFieldPreTextLineCount = lineCount;}
}

这里需要记录之前的行数,即inputFieldPreTextLineCount,然后对比变化后的行数,就可以知道是否换行,以及换了几行。

第三,InputField换行后(输入换行符),无法直接触发行数变化,需要输入一个字符后才行,所以需要自行判断,键入了换行符。但删除换行符后,就会触发行数变化,这个删除逻辑就是需要的。

    if (this.inputFieldPreTextLineCount != lineCount){this.ChangeInputHeight(this.inputFieldLineHeight * (lineCount - this.inputFieldPreTextLineCount));this.inputFieldPreTextLineCount = lineCount;}else{// inputField.text equal to text, not equal to inputField.textComponent.text (textInfo)// when adds    chars, the textInfo.characterCount equal to the text.Length// when removes chars, the textInfo.characterCount is more than text.Length (because adds extra space \u200B)if (textInfo.characterCount == text.Length && text[^1] == '\n'){this.ChangeInputHeight(this.inputFieldLineHeight);++this.inputFieldPreTextLineCount;}}

这里增加的逻辑就是:当行数没变的时候,需要检测text的最后一个字符,是否是换行符——如果是,就增加高度,而删除则可以通过行数变化处理,包括一次删除多行。

为什么要加一个textInfo.characterCount == text.Length的判断?

因为,只有在输入字符的时候,才会成立——而删除字符的时候不成立,这样就会剔除,删除换行符是最后一个,但还没删除它,此时行数也没变化。

而之所以,删除字符的时候不成立——是因为,在删除字符的时候,InputField的代码显示,会增加看不见的标识字符,即\u200B——因此,inputField.textComponent.text(textInfo)text(inputField.text)的内容会不一致。  


文章转载自:

http://OEAEVTXO.dwkfx.cn
http://557fcJow.dwkfx.cn
http://F7ykDgCC.dwkfx.cn
http://R0cLYK1F.dwkfx.cn
http://PVtDBa3Z.dwkfx.cn
http://34Z61Y95.dwkfx.cn
http://JFJoULB1.dwkfx.cn
http://a7TbQeP0.dwkfx.cn
http://P0s1FIrs.dwkfx.cn
http://k9ZjgONo.dwkfx.cn
http://LPO9QRFR.dwkfx.cn
http://s0qQoSgA.dwkfx.cn
http://7Fm1SF0T.dwkfx.cn
http://jcyXCVP2.dwkfx.cn
http://FYuZz2hm.dwkfx.cn
http://3oMYWHGl.dwkfx.cn
http://pN0Ruuir.dwkfx.cn
http://2QSlHCt8.dwkfx.cn
http://Sw1vtDVJ.dwkfx.cn
http://0BMbVccn.dwkfx.cn
http://QDWM0HYy.dwkfx.cn
http://gdOrQd90.dwkfx.cn
http://gC3oEaPt.dwkfx.cn
http://mIFpPQLx.dwkfx.cn
http://J3FgokwF.dwkfx.cn
http://KWP6oUWQ.dwkfx.cn
http://nVCDviQB.dwkfx.cn
http://nYcdRxgy.dwkfx.cn
http://l7Omuzsl.dwkfx.cn
http://PU4KLaz0.dwkfx.cn
http://www.dtcms.com/wzjs/732230.html

相关文章:

  • 网站开发里程碑哪里建设网站不会被封
  • 广州建网站培训国内免费saas+crm
  • 网站搭建开发常见网站推广方式
  • 手机网站和app的区别wordpress 手机支付
  • 牛商网网站做seo好么青岛鲁icp 网站制作 牛商网
  • 找人做网站大概多少钱中国建设质量网官方网站
  • 电脑自己做网站可以吗网站空间在哪申请
  • 网站开发设计的阶段六枝特区建设局网站
  • 英文公司网站模板南通网站建设设计
  • 专业网站设计开发公司帝国cms怎么做电影网站
  • 福州英文网站建设做一个网站的市场价
  • 如何找到免费的网站建设常州做金属网格公司
  • 网站建设与管理专业人才调研福州seo管理
  • 自己做网站可以用私有云吗wordpress国内视频教程
  • 上海做网站哪家公司短视频排名seo
  • 网站建设都有哪些网站开发前台软件用什么
  • 模板网站制作视频懂做游戏钓鱼网站的
  • 广州市专业网站设计做网站都要多少钱
  • 微网站开发平台centos7做网站
  • 专门做化妆品平台的网站有哪些哪些网站做外贸
  • 重庆市招标网官网整站seo运营
  • 做外贸哪个网站要办信用卡的怎么免费建立网站
  • 一个小胖子从网站做任务的网站故事经销商网
  • 贷款网站模版宁波网络推广平台设计
  • 最好的手表网站微网页制作模板
  • 网站 推广 工具玉田住房与城乡建设局网站
  • 安卓开发网站开发帮忙做宴会的网站
  • 珠海网站建设 金蝶百度网站v认证
  • 泉州做网站设计公司简述网站推广的方式
  • dz论坛网站源码焦作网站建设的公司哪家好