UILabel(UIWebViewは使用できません)を使用してテキストを表示する必要があり、ヘブライ語と英語の両方が含まれることがあります。 UILabelのデフォルト設定を使用すると、文が混ざり合って意味をなさない。私はUILabelにテキストrtlを表示させる方法を見つけられませんでした。右から左UILabels
誰かがこれを行うことを知っていますか、これを実装するコードですか?
UILabel(UIWebViewは使用できません)を使用してテキストを表示する必要があり、ヘブライ語と英語の両方が含まれることがあります。 UILabelのデフォルト設定を使用すると、文が混ざり合って意味をなさない。私はUILabelにテキストrtlを表示させる方法を見つけられませんでした。右から左UILabels
誰かがこれを行うことを知っていますか、これを実装するコードですか?
このSOをご覧ください。このトピックに関する情報が含まれています。 表示される文字列に\ u200Fというコードを追加することによって、一部の機能が動作するようです。
NSString *RTFstr = "1. בבוקר"; //This could be any right-to-left string
NSString *directionalString = [@"\u200F" stringByAppendingString:[note text]];
[someUITextView setString:directionalString];
これは
-(void)fnForWritingDirection:(UILabel*)label textFor:(NSString *)stringForText{
NSMutableAttributedString* attrStr = [[NSMutableAttributedString alloc] initWithString: [stringForText stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
[paragraphStyle setBaseWritingDirection:NSWritingDirectionRightToLeft];
[attrStr addAttribute:NSParagraphStyleAttributeName value:paragraphStyle range:NSMakeRange(0, [attrStr length])];
label.attributedText=attrStr;
}
これは受け入れられる回答である必要があります –
それは働いていたが、 "\ u200Fは" 私たちは、文字列に影響を与えずにこれを削除する方法を、示しているが動作します。 – Sandy