NGUI文本由右向左豎排顯示

思路:

1砖顷,將要顯示的文本由前向后拆分為若干列草雕;

2巷屿,然后由每一列組成要顯示的每一行;

3墩虹,給每一行增加換行后拼接成一個正向顯示的字符串嘱巾;

4,將拼接后的字符串直接賦值給UILabel(還是按照從左往右顯示)

////// 獲得從右向左的豎排文字

?///UILabel空間诫钓,主要用于獲取字號和行間距?

?///原始字符串?

?///限定的文本高度 ///

public static string GetVerticalBeginFromRight(UILabel label, string str, int heightLim, string spaceXStr) {?

?string retStr = string.Empty;

?if (null == label || str.Equals(string.Empty)) { return ""; }?

?int fontSize = label.fontSize;

?int spacingY = label.spacingY; //首先計算能夠有多少列 int lineNum = heightLim/(fontSize + spacingY);

?int column = (int)Mathf.Ceil( (float)str.Length / lineNum ); //Debug.LogError("================lineNum:" + lineNum + "==column:" + column); ListcolStrs = new List(column);

? ? ? ? ? ? int lastListIndex = 0;

? ? ? ? ? ? int listIndex = 0;

? ? ? ? ? ? for ( int i = 0;i < str.Length;i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? listIndex = i / lineNum;

? ? ? ? ? ? ? ? if(listIndex > lastListIndex)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? string colStr = str.Substring(lastListIndex * lineNum, lastListIndex * lineNum + lineNum > str.Length ? str.Length : lineNum);

? ? ? ? ? ? ? ? ? ? colStrs.Add(colStr);

? ? ? ? ? ? ? ? ? ? //Debug.LogError("================lastListIndex:"+ lastListIndex + "==colStrs[lastListIndex]:" + colStrs[lastListIndex]);

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? lastListIndex = listIndex;

? ? ? ? ? ? }

? ? ? ? ? ? string nextColStr = str.Substring(listIndex * lineNum, listIndex * lineNum + lineNum > str.Length ? str.Length - listIndex * lineNum : lineNum);

? ? ? ? ? ? colStrs.Add(nextColStr);

? ? ? ? ? ? //Debug.LogError("================listIndex:" + listIndex + "==colStrs[listIndex]:" + colStrs[listIndex]);

? ? ? ? ? ? //反轉(zhuǎn)colStrs

? ? ? ? ? ? colStrs.Reverse();

? ? ? ? ? ? //拼接從左向右的換行字符串

? ? ? ? ? ? for( int i = 0;i < lineNum;i++)

? ? ? ? ? ? {

? ? ? ? ? ? ? ? //獲取每一列中的字符

? ? ? ? ? ? ? ? string tempStr = string.Empty;

? ? ? ? ? ? ? ? for ( int m = 0;m < column; m++)

? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? string lineChar = colStrs[m].Length > i ? colStrs[m].Substring(i, 1) : GenBlank(CaculateBlankNeed(fontSize, fontSize));

? ? ? ? ? ? ? ? ? ? //獲得符號的寬度

? ? ? ? ? ? ? ? ? ? int charW = GetTextPrintedSize(lineChar, fontSize);

? ? ? ? ? ? ? ? ? ? if( charW >= fontSize)

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? tempStr += (spaceXStr + lineChar);

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? ? ? else

? ? ? ? ? ? ? ? ? ? {

? ? ? ? ? ? ? ? ? ? ? ? string blank = GenBlank(CaculateBlankNeed(fontSize - charW, fontSize));

? ? ? ? ? ? ? ? ? ? ? ? tempStr += (blank + spaceXStr + lineChar);

? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? retStr += tempStr + '\n';

? ? ? ? ? ? }

? ? ? ? ? ? //Debug.LogError("=================retStr:\n" + retStr);

? ? ? ? ? ? label.text = retStr;

? ? ? ? ? ? return retStr;

? ? ? ? }

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末旬昭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子菌湃,更是在濱河造成了極大的恐慌问拘,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件惧所,死亡現(xiàn)場離奇詭異骤坐,居然都是意外死亡,警方通過查閱死者的電腦和手機下愈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門纽绍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人驰唬,你說我怎么就攤上這事顶岸∏徽茫” “怎么了叫编?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵辖佣,是天一觀的道長。 經(jīng)常有香客問我搓逾,道長卷谈,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任霞篡,我火速辦了婚禮世蔗,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘朗兵。我一直安慰自己污淋,他們只是感情好,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布余掖。 她就那樣靜靜地躺著寸爆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盐欺。 梳的紋絲不亂的頭發(fā)上赁豆,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天,我揣著相機與錄音冗美,去河邊找鬼魔种。 笑死,一個胖子當著我的面吹牛粉洼,可吹牛的內(nèi)容都是我干的节预。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼属韧,長吁一口氣:“原來是場噩夢啊……” “哼安拟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起挫剑,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤去扣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后樊破,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愉棱,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年哲戚,在試婚紗的時候發(fā)現(xiàn)自己被綠了奔滑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡顺少,死狀恐怖朋其,靈堂內(nèi)的尸體忽然破棺而出王浴,到底是詐尸還是另有隱情,我是刑警寧澤梅猿,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布氓辣,位于F島的核電站,受9級特大地震影響袱蚓,放射性物質(zhì)發(fā)生泄漏钞啸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一喇潘、第九天 我趴在偏房一處隱蔽的房頂上張望体斩。 院中可真熱鬧,春花似錦颖低、人聲如沸絮吵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蹬敲。三九已至,卻和暖如春想幻,著一層夾襖步出監(jiān)牢的瞬間粱栖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工脏毯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闹究,地道東北人。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓食店,卻偏偏與公主長得像渣淤,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子吉嫩,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 前言 最先接觸編程的知識是在大學(xué)里面自娩,大學(xué)里面學(xué)了一些基礎(chǔ)的知識用踩,c語言,java語言忙迁,單片機的匯編語言等脐彩;大學(xué)畢...
    oceanfive閱讀 3,095評論 0 7
  • Lua 5.1 參考手冊 by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,840評論 0 38
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)姊扔,斷路器惠奸,智...
    卡卡羅2017閱讀 134,722評論 18 139
  • 【程序1】 題目:古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子恰梢,小兔子長到第三個月后每個月又生一對兔...
    葉總韓閱讀 5,140評論 0 41
  • “林十三佛南,又在睡覺”梗掰。剛聽到聲音,一個粉筆頭就狠狠的砸在了我的腦門中嗅回〖八耄“是誰,打攪老子的美夢”妈拌。剛抬起頭拥坛,只見英語...
    向北V閱讀 377評論 2 2