Панель навигации не конвертируется в RTL для арабского языка в Swift - PullRequest
0 голосов
/ 04 октября 2018

У меня есть функция, позволяющая пользователю изменять язык в приложении.

Если я изменяю язык в приложении без установки корневого контроллера представления, панель навигации не преобразует свой макет в 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

        }   
    }

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

Так что же делать, не меняя контроллер корневого представления?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...