亲爱的, 尝试从给定文件中读取“阿拉伯语文本”时,我遇到了一个奇怪的(愚蠢的)问题。我们假设我有一个名为TEXT.txt的文本文件,它编码为UTF-8,看起来像这样(阿拉伯语文本来自RightToLeft):
:xxx xxxx xx xxx
.xxx, xxxxxxx xxxxx xxx
当我尝试使用
在Xcode中读取TEXT.txt时UITextView *about;
about.textAlignment = UITextAlignmentRight;
NSString *textFilePath = [[NSBundle mainBundle] pathForResource:@"TEXT" ofType:@"txt"];
NSString *fileContents = [NSString stringWithContentsOfFile:textFilePath encoding:NSUTF8StringEncoding error:nil];
about.text = fileContents;
NSLog(@"The text is: \n %@",about.text);
我认为这是正确的方法!然后它会在iPhone模拟器和设备上显示:
xxx xxxx xx xxx:
xxx, xxxxxxx xxxxx xxx.
哪个不是正确的文字显示!!!!!!!!!!!!!!什么是“:”冒号和“。”的问题。期间走错了方向。我对这个问题很头疼,因为我已经尝试解决了很长时间。所以请帮助!!!
最诚挚的问候;
答案 0 :(得分:1)
我认为没有办法自动强制从右到左布局。但是,您可以创建一个可以反转文本的方法。这将读取每个字符并将其放入可变字符串中。快速搜索出现了这个:
-(NSString *) reverseString
{
NSMutableString *reversedStr;
int len = [self length];
// Auto released string
reversedStr = [NSMutableString stringWithCapacity:len];
// Probably woefully inefficient...
while (len > 0)
[reversedStr appendString:
[NSString stringWithFormat:@"%C", [self characterAtIndex:--len]]];
return reversedStr;
}