Ios 更改semanticContentAttribute后导航速度变慢
要将LTR更改为RTL,我使用的是一个带有自动布局约束的故事板。在按钮上单击将语言更改为阿拉伯语/英语。我正在调用switchLanguage()。这将LTR更改为RTL,反之亦然。所有的布局看起来都不错 问题是在多次将semanticContentAttribute从.forceLeftToRight更改为.forceRightToLeft或反之亦然之后。应用程序导航似乎非常慢,我注意到CPU使用率达到99%。你越是切换语言,速度就越慢Ios 更改semanticContentAttribute后导航速度变慢,ios,performance,localization,navigation,Ios,Performance,Localization,Navigation,要将LTR更改为RTL,我使用的是一个带有自动布局约束的故事板。在按钮上单击将语言更改为阿拉伯语/英语。我正在调用switchLanguage()。这将LTR更改为RTL,反之亦然。所有的布局看起来都不错 问题是在多次将semanticContentAttribute从.forceLeftToRight更改为.forceRightToLeft或反之亦然之后。应用程序导航似乎非常慢,我注意到CPU使用率达到99%。你越是切换语言,速度就越慢 func swichLanguage { if
func swichLanguage {
if Lang.current = .ar {
UIView.appearance().semanticContentAttribute = .forceRightToLeft
} else {
UIView.appearance().semanticContentAttribute = .forceLeftToRight
}
let sb = UIStoryboard.init(name: "Main", bundle: nil)
let vc = sb.instantiateInitialViewController()
let appDelegate = UIApplication.shared.delegate as! AppDelegate
appDelegate.window?.rootViewController = vc
}
嗯,我真的不知道。之前,我使用的是我在中演示的iOS9.0之前的方法。更改semanticContentAttribute属性只是更新答案的一个小测试。我没有一个真正的应用程序,所以我没有面对你的问题。你在真正的设备上测试吗?那个真正的装置是什么?我只是想在这里提出一些想法。所以,当我更改语言时,我通常会关闭所有控制器并到达我的第一个视图控制器。你是这样做还是强制布局?尝试关闭所有控制器并转到根控制器,这可能会解决速度慢的问题。谢谢。因为更改语言按钮位于rootviewcontroller中。我不能否认这一点。暂时我通过更改viewDidLoad()中所有子视图的semanticContentAttribute进行了修复。您可以查看我的解决方案,它运行良好: