iMu*_*rak 2 iphone localization ios
我创建了两个方法来更改UITextView的文本对齐方式.我的目标是iOS6及以上版本.这个想法是用户可以改变textview输入的对齐方式.如果输入是英文,下面的方法工作正常.如果输入阿拉伯语,它不会改变对齐方式.
-(void) changeLeftAllignment
{
myTextView.textAlignment = NSTextAlignmentLeft;
}
-(void) changeRightAllignment
{
myTextView.textAlignment = NSTextAlignmentRight;
}
Run Code Online (Sandbox Code Playgroud)
这仅适用于英语输入.如果我将键盘语言从右到左更改为阿拉伯语,则它不再起作用.
有什么想法解决这个问题吗?
谢谢
从iOS 6.0+开始你应该使用NSTextAlignmentNatural.该UITextAlignment枚举已被弃用.如果您在iOS 6.0目标上运行代码,它将自动使用自然对齐,并且所有代码都将按预期工作.
在以前的iOS版本中,您可以检查语言输入是否为RTL并反转您的对齐方式:
- (BOOL)isRTL {
return ([NSLocale characterDirectionForLanguage:[[NSLocale preferredLanguages] objectAtIndex:0]] == NSLocaleLanguageDirectionRightToLeft);
}
-(void) changeLeftAllignment
{
myTextView.textAlignment = (![self isRTL]]) ? UITextAlignmentLeft : UITextAlignmentRight;
}
-(void) changeRightAllignment
{
myTextView.textAlignment = (![self isRTL]]) ? UITextAlignmentRight : UITextAlignmentLeft;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5237 次 |
| 最近记录: |