1

私はUILabelに表示したいhtmlコンテンツを持っています。NSAttributedString - アラビア語の書き込み方向を追加

NSAttributedString *attrStr = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ 
NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} 
documentAttributes:nil error:nil]; 
return attrStr; 

これは英語(LTRセマンティック)のために良い作品が、私はアラビア語をサポートしたいので、同様に上記の方法は属性付きの文字列LTRを保持します。このコードを使用しての Inspite:self.view.semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;

私はまだ同じ

NSMutableAttributedString *mutableAttributedString = [[NSMutableAttributedString alloc]initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType} documentAttributes:nil error:nil]; 
[mutableAttributedString addAttribute:NSWritingDirectionAttributeName value:@[@(NSWritingDirectionRightToLeft | NSWritingDirectionOverride)] range:NSMakeRange(0, string.length)]; 
return mutableAttributedString; 

を試してみました。どんな提案も大歓迎です。 ありがとう

答えて

1

希望小売価格:右揃え!

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init]; 
paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping; 
paragraphStyle.alignment = NSTextAlignmentRight; 

NSDictionary *attr = @{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType, 
        NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)}; 

NSError *error = nil; 

NSMutableAttributedString *attributedText = 
[[NSMutableAttributedString alloc]initWithData:[text dataUsingEncoding:NSUTF8StringEncoding] options:attr documentAttributes:nil error:&error]; 

[attributedText addAttribute:NSParagraphStyleAttributeName 
        value:paragraphStyle 
        range:NSMakeRange(0, attributedText.length)]; 
return attributedText; 
関連する問題