如何在iOS应用程序中更改布局方向(LTR和RTL)?



我的应用程序支持英语和阿拉伯语。如果我将系统语言从英语更改为阿拉伯语,则布局会自动成为左右。

但是,我想添加一个功能,用户可以从我的应用程序内部更改语言。显然,如果我只是重新加载捆绑包,布局将保持不变。我用谷歌搜索了这一点,人们建议在将语言更改为阿拉伯语后,我应该称呼

[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;

但这并不完美。就我而言,当我推动包含表视图的视图控制器时,前几行仍然是从左到右的。我必须向下滚动一点以将这些单元格移开屏幕,然后将它们滚回去。目前,他们将成为左派。

有人知道如何解决此问题吗?

这是因为您的表观视频单元格被脱水,您必须在此行之后重新加载tableview:

[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;
[self.tableview reloadData];

最新更新