2012-10-06 44 views
1

我基本上是在製作提詞器應用程序,我需要一個UITextView來顯示從右到左的每一行。UITextView從右到左Unicode u202B不工作

NSString *textString = @"Hello There\nMy name is Mark"; 
textView.text = [@"\u202B" stringByAppendingString: textString]; 

這是行不通的。我需要這個閱讀

「erehT 2009東海生日賀」 「克拉姆SI埃曼YM」

我知道我還需要一個倒掛等字體。我需要得到這部分首先固定。謝謝。

回答

1

的符號\u202b表示Unicode字符U + 202B是追加此字符串右不會影響方向性強的字符如拉丁字母的書寫方向。

字符U + 202E右對齊覆蓋(\u202e)強制從右向左寫入方向,覆蓋字符的固有方向性。要結束其效果,使用U + 202C POP直接格式化字符:

'\u202eHello There\nMy name is Mark \u202c' 

這有什麼與字體。渲染引擎應該處理一些字符,如「(」使用鏡像符號,例如,使得「(foo)」被渲染爲「(oof)」,而不是「)oof(」以從右到左的方式寫入。沒有鏡像參與;字母保持不變,他們正好運行到左

如果你真的想有文字鏡像,你需要完全不同的東西(轉換)

+0

布拉沃!謝謝,它的工作! – starvingpilot

0

這是扭轉串邏輯......我希望這有助於你...只要你textView.text

NSString *sampleString = @"Hello this is sample \n Hello there"; 
    NSMutableString *reverseString = [NSMutableString string]; 
    NSInteger index = [sampleString length]; 
    while (index > 0) 
    { 
     index--; 
     NSRange subStrRange = NSMakeRange(index, 1); 
     [reverseString appendString:[sampleString substringWithRange:subStrRange]]; 
    } 
    NSLog(@"%@", reverseString); 
+0

感謝您的幫助艾米特。如果我的字符串只有幾個字,那麼這段代碼就可以工作,因爲這將是一個提詞器應用程序,它需要進行長時間的演講,並且不會在每一次換行時都將其反轉。 – starvingpilot

+0

您是否嘗試過?更多的線數它只是爲我工作 –