Вам не нужно менять настройки на UILabel, просто поместите символ с юникода 0x200F перед тем ваша строка. Вот почему:
В Юникоде много символов имеют определенную направленность, что позволяет системе знать, что она должна быть написана, скажем, LTR, как سلام. Параграф обычно использует направление своего первого символа. Вот почему ваша строка без номера вводится автоматически справа налево.
Теперь некоторые персонажи, как и числа, имеют «слабую» направленность, поэтому они в основном воспринимают окружающие. Когда вы вводите «1. בבוקר», система сначала видит 1, поэтому берет обычное направление LTR. Изменение выравнивания не поможет, поскольку оно просто сдвигает весь текст вправо или в центр.
Для решения этой проблемы Unicode имеет два маркерных символа (LTR: 0x200E, RTL: 200F). Они невидимы, но диктуют направленность. Таким образом, хотя "1. בבוקר" является ...
- בבוקר
если вы наберете "# x200F" + "1. בבוקר" будет отображаться как это:
1. בבוקר
См. Http://stackoverflow.com/questions/1553248/iphone-and-right-to-left-text. К сожалению, ответов пока нет. – kennytm
Спасибо, но это не тот же isuue. – Tiger
Эй, как странно! Что произойдет, если у вас есть число в середине иврита или в начале строки, но после пробела? – lawrence