Vous ne devez modifier aucun réglage sur UILabel, il suffit de mettre le personnage avec unicode 0x200F avant votre chaîne. C'est la raison:
En Unicode, de nombreux caractères ont une directionnalité spécifique, ce qui permet au système de savoir qu'il doit être écrit, disons LTR, comme سلام. Le paragraphe utilise généralement la direction de son premier caractère. C'est pourquoi votre chaîne sans le numéro est automatiquement tapée de droite à gauche.
Maintenant, certains caractères, comme les nombres, ont une directivité "faible", donc ils prennent essentiellement celui de leur environnement. Lorsque vous tapez "1. קוקר", le système voit d'abord 1, donc prend la direction habituelle de LTR. Changer l'alignement n'aidera pas, car il déplace tout le texte vers la droite, ou le centre.
Pour résoudre ce problème, Unicode a deux caractères de marqueur (LTR: 0x200E, RTL: 200F). Ceux-ci sont invisibles, mais dictent la directionnalité. Ainsi, alors que "1. בבוקר" est ...
- בבוקר
si vous tapez "# x200F" + "1. בבוקר", il affiche comme ceci:
1. בבוקר
Voir http://stackoverflow.com/questions/1553248/iphone-and-right-to-left-text. Malheureusement, pas de réponses jusqu'à présent. – kennytm
Merci mais ce n'est pas la même isuue. – Tiger
Whoa, comme c'est étrange! Que se passe-t-il si vous avez un numéro au milieu de l'hébreu, ou au début de la chaîne mais après un espace? – lawrence