2011-09-29 13 views
6

मुझे UILabel (UIWebView का उपयोग नहीं कर सकता) का उपयोग करके एक टेक्स्ट प्रदर्शित करने की आवश्यकता है, और इसमें कभी-कभी हिब्रू और अंग्रेजी दोनों शामिल होते हैं। UILabel की डिफ़ॉल्ट सेटिंग्स का उपयोग करके वाक्य मिश्रित हो जाता है और समझ में नहीं आता है। मैं UILabel प्रदर्शन टेक्स्ट आरटीएल बनाने के लिए एक रास्ता खोजने में विफल रहा है।बाएं से बाएं UILabels

क्या कोई ऐसा करने के लिए वैसे भी जानता है, या एक कोड जो इसे लागू करता है?

उत्तर

6

इस SO पर एक नज़र डालें, इसमें इस विषय पर कुछ जानकारी है जो आपकी मदद कर सकती है। ऐसा लगता है कि तारों को प्रदर्शित करने के लिए कोड \ u200F जोड़कर कुछ लोगों के लिए काम करना प्रतीत होता है।

NSString *RTFstr = "1. בבוקר"; //This could be any right-to-left string 
NSString *directionalString = [@"\u200F" stringByAppendingString:[note text]]; 
[someUITextView setString:directionalString]; 
+1

यह काम किया लेकिन "\ u200F" दिखा रहा है, कैसे हम स्ट्रिंग को प्रभावित किए बिना इस निकाल सकते हैं। – Sandy

2

यह काम करेंगे

-(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; 

} 
+0

जो स्वीकार्य उत्तर होना चाहिए –

संबंधित मुद्दे