Как изменить направление макета (LTR и RTL) в приложении iOS? - PullRequest
0 голосов
/ 28 февраля 2019

Мое приложение поддерживает английский и арабский языки.Если я изменю язык системы с английского на арабский, раскладка автоматически станет справа налево.

Однако я хочу добавить функцию, позволяющую пользователям изменять язык из моего приложения.Видимо, раскладка останется прежней, если я просто перезагружу комплект.Я гуглил это, и люди предлагают, чтобы после смены языка на арабский я должен был позвонить

[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;

Но это не работает идеально.В моем случае, когда я нажимаю контроллер представления, который содержит табличное представление, первые несколько строк по-прежнему остаются слева направо.Мне нужно немного прокрутить вниз, чтобы переместить эти ячейки за экран, а затем прокрутить их назад.В это время они станут справа налево.

Кто-нибудь знает, как это исправить?

1 Ответ

0 голосов
/ 28 февраля 2019

Это потому, что ваши ячейки табличного представления удаляются, вам нужно перезагрузить табличное представление после этой строки:

[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
[self.tableview reloadData];
...