0
私は内部的にアプリケーション言語(LTR-RTL)を切り替えてからストーリーボードを再初期化しています。ここHanging(Freezing)issue 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)を追加しました。ですから、.xibファイルにUIViewを作成するときに、このプロパティをチェックするだけで、この特定のビューを切り替え、その中のすべてのビューを切り替えることはありません。 –
お返事ありがとうございます –