Представления отражаются на языках RTL

При настройке устройства на язык справа налево iOS меняет порядок позиций.

Например, в UITableViewCell, заданном с помощью Auto-Layout: у меня есть изображение аватара слева, а текст выравнивается справа от него, который заполняет остальную часть ячейки. На арабском языке мой аватар справа, а мой ярлык слева.

Есть ли способ предотвратить использование iOS для определенных представлений или существует общий параметр, определяющий, можно ли его изменить?

Ответ 1

Вы можете установить для свойства "направление" макет расстояния "слева направо" вместо значения по умолчанию: "Ведение к завершению". Таким образом, представления не будут отражаться на языках RTL.

К сожалению, вы должны установить это для каждого ограничения просмотров, которые вы не хотите отражать. Ограничения, добавленные с помощью кода, могут быть установлены следующим образом: [self addConstraints: [Ограничения NSLayoutConstraintWithVisualFormat: @ "H: | -0 - [_ photoView] -0- |" options: NSLayoutFormatDirectionLeftToRight metrics: nil views: views]];

Ответ 2

Для Xcode6 и iOS8 вы можете отключить Respect language direction для горизонтальных ограничений, как показано ниже:

enter image description here