NGUI 解决UILable 在空行起始位置加‘\n’
NGUI 解决UILable 默认在顶满第一行时,在起始位置如键入空格无效,其原因就是会加入换行符,使字符串,整体换行了
解决办法加入bool变量控制
1在 UILable代码中添加
[HideInInspector][SerializeField] public bool wrapText = true;
2 在该函数中 void ProcessText (bool legacyMode, bool full)
对方法
// Wrap the text
bool fits = NGUIText.WrapText(mText, out mProcessedText, true, wrapText);添加参数
3 在NGUIText源码中相应函数添加参数
static public bool WrapText (string text, out string finalText)
{
return WrapText(text, out finalText, false);
}
static public bool WrapText (string text, out string finalText, bool keepCharCount, bool needWrap = true)
// Doesn't fit?
if (Mathf.RoundToInt(remainingWidth) < )
{
// Can't start a new line 在此处添加判断 !needWrap 来阻止创建新行,就解决问题了
if ( !needWrap || lineIsEmpty || lineCount == maxLineCount)
{
// This is the first word on the line -- add it up to the character that fits
sb.Append(text.Substring(start, Mathf.Max(, offset - start)));
bool space = IsSpace(ch);
if (!space && !eastern) fits = false; if (lineCount++ == maxLineCount)
{
start = offset;
break;
} if (keepCharCount) ReplaceSpaceWithNewline(ref sb);
else EndLine(ref sb); // Start a brand-new line
lineIsEmpty = true; if (space)
{
start = offset + ;
remainingWidth = regionWidth;
}
else
{
start = offset;
remainingWidth = regionWidth - glyphWidth;
}
prev = ;
}
else
{
// Revert the position to the beginning of the word and reset the line
lineIsEmpty = true;
remainingWidth = regionWidth;
offset = start - ;
prev = ; if (lineCount++ == maxLineCount) break;
if (keepCharCount) ReplaceSpaceWithNewline(ref sb);
else EndLine(ref sb);
continue;
}
NGUI 解决UILable 在空行起始位置加‘\n’的更多相关文章
- ScrollView起始位置不是最顶部的解决办法
最近遇到了打开带有ScrollView的页面布局默认起始位置不是最顶部的情况,最后发现问题是因为ScrollView内部嵌套了gridview,只需要设置gridview获取焦点为false即可. g ...
- VS2013编译经常卡在正在从以下位置加载xxx.dll的符号
换了系统后,重新下载了一个vs2013 with update2安装,编译的时候总是卡在 正在从以下位置加载xxx.dll的符号 如图: 解决方法: 进入VS---工具---选项----调试----符 ...
- nginx实现动态分离,解决css和js等图片加载问题
改帖专门为使用nginx,通过nginx把请求转发到web服务器再返回客户端的时候,解决css和js和图片加载不出来的问题. 如果没安装nginx,请访问一下地址进行安装 http://www.cnb ...
- 设置UITextView光标从起始位置开始
一.刚开始用的时候,我加载的UITextView一直是这种情况: 当我在ViewController中设置这个属性: self.automaticallyAdjustsScrollViewInsets ...
- 找出A字符串中出现B字符串的起始位置
/** * 找出B出现在A中的起始位置 * @param A * @param lenA * @param B * @param lenB * @date 2016-10-7 * @author sh ...
- c# winform 窗体起始位置 设置
窗体起始位置为顶部中间,WinForm居中显示: ; ; this.StartPosition = FormStartPosition.Manual; //窗体的位置由Location属性决定 thi ...
- 3ds max画曲线 设置摄像机的起始位置
参考 http://www.3dmax8.com/3dmax/2013/0916/5661.html 如果想创建曲线段,可以在单击下一个点时按住鼠标不放,继续拖曳,再拖到另一个点上,单击鼠标右键,即可 ...
- 在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0
//在一个exe文件中查找指定内容,找到则返回起始位置, 否则返回0//如果某字符串, 直接传入字符串进来//如果要查找16进制,则用如下格式传参进来: #$1A#$2A#$3A function F ...
- C#获取起始位置以及添加全局资源字典
获取起始位置 Path.Combine(AppDomain.CurrentDomain.BaseDirectory); 添加全局资源 string temp = "this is a str ...
随机推荐
- Unity预计算光照的学习(速度优化,LightProb,LPPV)
1.前言 写这篇文章一方面是因为unity的微博最近出了关于预计算光照相关的翻译文章,另一方面一些美术朋友一直在抱怨烘培速度慢 所以抱着好奇的心态来学习一下unity5的PRGI预计算实时光照 2.基 ...
- [UWP]附加属性1:概述
1. 什么是附加属性(attached property ) 附加属性依赖属性的一种特殊形式,常见的Grid.Row,Canvas.Left都是附加属性. /// <summary> // ...
- Lucky7(容斥原理)
Problem Description When ?? was born, seven crows flew in and stopped beside him. In its childhood, ...
- gridcontrol显示行号,总行,打印,导出Excel,设置标头及内容居中方法
1.一般为了表格显示数据更直观,经常会显示行号以及总数.让gridcontrol显示行号,首先你需要设置一下显示行号的宽度,也就是IndicatorWith.默认值为-1,可根据实际数值需要设置宽度, ...
- groovy学习(一)列表
numbers = [11, 12, 13, 14]println(numbers[0])println(numbers[3])println(numbers[-1])//最左边的元素println( ...
- 基于php(Thinkphp)+jquery 实现ajax多选,反选,不选 删除数据 新手学习向
jquery多选源码来源素材火http://www.sucaihuo.com/ (有什么问题可以私本人邮箱1428937236@qq.com,也可加qq来时表明来意即可) 建议有js基础,了解jque ...
- JavaScript中定义变量和存储值的类型判断
以严谨的语法表示作为前提 首先变量被定义,然后给变量赋予一定的值,变量真正的作用就是存储值 变量的定义和赋值 变量的定义: var a 使用关键字var+变量名表示定义一个变量 a 变量的赋值: va ...
- 【2017-2-17】C#基础 - 定义变量,输入输出
1.初学C#. C#是专门为.NET的应用而开发的语言,他吸收了C++.Visual Basic.Delphi.Java等语言的优点,提高了程序开发的效率. 2.Visual Studio.NET的集 ...
- JAVA基础:自己构造一个按递增排列的数组,用户输入一个数,插入适当位置
- 利用内核cgroup机制轻松实现类似docker的系统资源管控
近几年,以docker为代表的容器技术异常火热,它的轻量.高效让人欣喜若狂,它被赋予了改变传统IT运维的使命.相信随着时间推移,以容器云为落地形式的产品将真正实现这一使命. 我们都知道docker能够 ...