Search code examples
iosiphoneswiftright-to-left

Changing to right to left RTL programmatically


I'm working on an App which supports two languages: English and Arabic. When the user changes the language to Arabic, I need my app to make the text right-to-left (RTL).

I searched for this issue, and I found this answer about supporting RTL.

I would like to do apply the the above answer but in a programmatically way, because I need to change from LTR to RTL while the App is running.


Solution

  • I changed my app to right to left RTL by using this :

    self.transform = CGAffineTransformMakeScale(-1.0, 1.0)
    

    This flipped the view, then i flipped the objects in the view like this:

    label.transform = CGAffineTransformMakeScale(-1.0, 1.0)
    textField.transform = CGAffineTransformMakeScale(-1.0, 1.0)
    image.transform = CGAffineTransformMakeScale(-1.0, 1.0)
    

    This made my views RTL instead of changing all constraints or rebuild the app as RTL.