mLblBase.UpdateNGUIText();
BetterList mTempVerts = new BetterList();
BetterList mTempIndices = new BetterList();
NGUIText.Update(false);
NGUIText.rectHeight = 1000000;
string mProcessedText = "";
// Wrap the text
bool fits = NGUIText.WrapText(text, out mProcessedText, false);
NGUIText.PrintCharacterPositions(mProcessedText, mTempVerts, mTempIndices);
Vector3[] list = mTempVerts.ToArray();
int[] indexs = mTempIndices.ToArray();
mLblBase就是UILabel引用。你想要哪个UILabel里字的位置就改成哪个。
这个list就是所有字的坐标,一些不可见的字符也计算在内的,比如:这样的转义。indexs是指每个字符的坐标位置。因为一些不可见的字符使用的是同样一个坐标的。