У меня есть функция, позволяющая пользователю изменять язык в приложении.
Если я изменяю язык в приложении без установки корневого контроллера представления, панель навигации не преобразует свой макет в RTL.
Текущий текст контроллера просмотра страницы будет изменен в соответствии с языком, который я установил в своем приложении
Я поместил свой код здесь, что я сделал, чтобы изменить автоматический макет для RTL и LTR
if let languageArray = UserDefaults.standard.value(forKey: APPLE_LANGUAGE_KEY) as? Array<String> {
switch languageArray[0] {
case KLanguage_ar:
if #available(iOS 9.0, *) {
UIView.appearance().semanticContentAttribute = .forceRightToLeft
} else {
// Fallback on earlier versions
}
break
case kLanguage_en:
if #available(iOS 9.0, *) {
UIView.appearance().semanticContentAttribute = .forceLeftToRight
} else {
// Fallback on earlier versions
}
break
default:
break
}
}
Если я поменяю контроллер корневого представления после смены языка приложения, он работает нормально.
Так что же делать, не меняя контроллер корневого представления?