我正在开发一个支持两种语言的应用程序:英语和阿拉伯语.
当用户将语言更改为阿拉伯语时,我需要我的应用程序将文本从右向左(RTL).
当用户将语言更改为阿拉伯语时,我需要我的应用程序将文本从右向左(RTL).
我搜索了这个问题,我找到了关于支持RTL的this answer.
我想以编程方式应用上述答案,因为我需要在App运行时从LTR更改为RTL.
解决方法
我使用以下方法将我的应用程序更改为从右到左的RTL:
self.transform = CGAffineTransformMakeScale(-1.0,1.0)
这翻转了视图,然后我在视图中翻转了这样的对象:
label.transform = CGAffineTransformMakeScale(-1.0,1.0) textField.transform = CGAffineTransformMakeScale(-1.0,1.0) image.transform = CGAffineTransformMakeScale(-1.0,1.0)
这使我的视图RTL而不是更改所有约束或重建应用程序作为RTL.