Вам не нужно изменять какие-либо настройки в UILabel, просто поместите символ с юникодом 0x200F перед строкой. Это причина:
В Юникоде многие символы имеют определенную направленность, что позволяет системе знать, что она должна быть написана, скажем, LTR, например, سلام. Абзац обычно использует направление своего первого символа. Вот почему ваша строка без номера печатается справа налево автоматически.
Теперь некоторые символы, такие как цифры, имеют «слабую» направленность, поэтому они в основном воспринимают окружение. Когда вы набираете «1. בבוקר», система сначала видит 1, поэтому принимает обычное направление LTR. Изменение выравнивания не поможет, так как оно просто сдвигает весь текст вправо или по центру.
Чтобы решить эту проблему, в Юникоде есть два символа маркера (LTR: 0x200E, RTL: 200F). Они невидимы, но диктуют направленность. Так что пока "1. בבוקר" это ...
- בבוקר
если вы введете "# x200F" + "1. בבוקר", оно будет отображаться так:
1. בבוקר