После переключения языка с арабского на английский в приложении iOS некоторые представления переворачиваются по горизонтIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 После переключения языка с арабского на английский в приложении iOS некоторые представления переворачиваются по горизонт

Сообщение Anonymous »

В нашем приложении для iOS уже поддерживается несколько языков. Но есть одна странная ошибка: после переключения языка с арабского на английский некоторые представления переворачиваются по горизонтали, что не похоже на стиль текста с письмом справа налево (RTL), а просто переворачивается. Но в иерархии представлений отладки Xcode представления не переворачиваются по горизонтали, расположение и отображение которых правильные, мы не знаем, почему. Снимок экрана ниже:
Изображение

Элементы управления на снимке экрана встроены в UIStackView, который встроен в UICollectionView.
Мы уже кое-что сделали для поддержки нескольких языков, например:

Код: Выделить всё

// Switch to specific language
UserDefaults.standard.setValue(["ar"], forKey: "AppleLanguages")

// Force LTR or RTL
let langDirection = Locale.characterDirection(forLanguage: langId)
if langDirection == .rightToLeft {
UIView.appearance().semanticContentAttribute = .forceRightToLeft
UILabel.appearance().semanticContentAttribute = .forceRightToLeft
UITextField.appearance().semanticContentAttribute = .forceRightToLeft
UITextView.appearance().semanticContentAttribute = .forceRightToLeft
UINavigationBar.appearance().semanticContentAttribute = .forceRightToLeft
UIButton.appearance().semanticContentAttribute = .forceRightToLeft
UIScrollView.appearance().semanticContentAttribute = .forceRightToLeft
UITableView.appearance().semanticContentAttribute = .forceRightToLeft
UICollectionView.appearance().semanticContentAttribute = .forceRightToLeft
} else {
UIView.appearance().semanticContentAttribute = .forceLeftToRight
UILabel.appearance().semanticContentAttribute = .forceLeftToRight
UITextField.appearance().semanticContentAttribute = .forceLeftToRight
UITextView.appearance().semanticContentAttribute = .forceLeftToRight
UINavigationBar.appearance().semanticContentAttribute = .forceLeftToRight
UIButton.appearance().semanticContentAttribute = .forceLeftToRight
UIScrollView.appearance().semanticContentAttribute = .forceLeftToRight
UITableView.appearance().semanticContentAttribute = .forceLeftToRight
UICollectionView.appearance().semanticContentAttribute = .forceLeftToRight
}

// After language switched, rebuild UITabBarController and its viewControllers

// Auto Layout's leftAnchor / rightAnchor has been changed to leadingAnchor / trailingAnchor
Будем очень признательны за любые советы и ответы.

Подробнее здесь: https://stackoverflow.com/questions/790 ... s-are-flip
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»