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

时间:2019-02-28 13:04:01

标签: ios objective-c arabic-support rtl-language

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

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

[UIView appearance].semanticContentAttribute = UISemanticContentAttributeForceRightToLeft;

但这并不完美。就我而言,当我推送一个包含表视图的视图控制器时,前几行仍然保持从左到右。我必须向下滚动一点才能将这些单元格移出屏幕,然后再向后滚动。此时,它们将变为从右到左。

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

1 个答案:

答案 0 :(得分:1)

这是因为您的表格单元格已出队,您必须在此行之后重新加载表格视图:

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