आप UILabel पर किसी भी सेटिंग को परिवर्तित करने से ठीक पहले यूनिकोड 0x200F साथ चरित्र डाल की जरूरत नहीं है आपकी स्ट्रिंग यही कारण है:
यूनिकोड में कई पात्रों की एक विशिष्ट दिशात्मकता होती है, जो सिस्टम को यह जानने की सुविधा देता है कि एलटीआर, जैसे कि سلام। अनुच्छेद आमतौर पर अपने पहले चरित्र की दिशा का उपयोग करता है। यही कारण है कि संख्या के बिना आपकी स्ट्रिंग को दाएं से बाएं से स्वचालित रूप से टाइप किया गया है।
अब संख्याओं की तरह कुछ पात्रों में "कमजोर" दिशात्मकता है, इसलिए वे मूल रूप से अपने आस-पास के बारे में लेते हैं। जब आप "1. בבוקר" टाइप करते हैं, तो सिस्टम पहले 1 को देखता है, इसलिए सामान्य एलटीआर दिशा लेता है। संरेखण को बदलने से मदद नहीं मिलेगी, क्योंकि यह पूरे पाठ को दाएं या केंद्र में बदल देता है।
इस समस्या को हल करने के लिए, यूनिकोड में दो मार्कर वर्ण हैं (एलटीआर: 0x200E, आरटीएल: 200 एफ)। ये अदृश्य हैं, लेकिन दिशात्मकता को निर्देशित करते हैं। इसलिए जब "1. בבוקר" है ...
- בבוקר
अगर आप टाइप "# x200F" + "1. בבוקר" इसे इस तरह प्रदर्शित होगा:
1। בבוקר
http://stackoverflow.com/questions/1553248/iphone-and-right-to-left-text देखें। दुर्भाग्य से, अब तक कोई जवाब नहीं है। – kennytm
धन्यवाद लेकिन यह वही isuue नहीं है। – Tiger
वाह, कितना अजीब! क्या होता है यदि आपके पास हिब्रू के बीच में कोई संख्या है, या स्ट्रिंग की शुरुआत में लेकिन अंतरिक्ष के बाद? – lawrence