Я внутренне переключаю язык приложений (LTR-RTL), а затем повторно инициализирую раскадровку.Проблема с зависанием (заморозка) UISemanticContentAttribute = .ForceRightToLeft
вот кусок кода:
let semanticContentAttribute: UISemanticContentAttribute = language == .Arabic ? .ForceRightToLeft : .ForceLeftToRight
UIView.appearance().semanticContentAttribute = semanticContentAttribute
UINavigationBar.appearance().semanticContentAttribute = semanticContentAttribute
Проблема в том, все представленные контроллеры вид замерзает в течение 3-6 секунд, в то время как отвергая его.
Что вызывает это?
Вы нашли решение по этому вопросу –
Проблема заключалась в том, что в приложении слишком много просмотров. есть много внутренних представлений из самой системы iOS. Например, если вы инициализируете UISearchBar, сам UISearchBar имеет UITextField, UILabel, кнопку «Отмена», кнопку «Очистить», фоновое представление и т. Д. Поэтому потребовалось время для переключения каждого вида из LTR в RTL. Решение: Я создал расширение для UIView и добавил атрибут IBDesignable - Bool. Поэтому, когда я создаю UIView в файле .xib, я просто проверяю это свойство, поэтому он будет переключать только этот вид, а не каждый вид внутри него. –
Спасибо за ответ –