Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Right to Left UI in iPhone (Hebrew)

I'm struggling in creating a RTL UI in iPhone application. The framework doesn't seem to have any support for RTL languages. The only thing is the alignment inside labels, which is nice, but it conflicts with other controls behaviour.

The question is: Is there a working code for a RTL TableView? Something that would handle the disclosure buttons to be on the left, section titles to be right aligned, index view to be left aligned?

As far as I understand I cannot move the index view of the tableview, i have to overlay some custom control...

Any suggestions/pointers/examples?

p.s. this is not a duplication of this question: Right to Left Alignment for UITableView since what I am looking for is a deeper customization, not just a new type of CellView.

(Update: Mar 10) For now - I've removed support for indexView from the tableView at all, implemented the cells as custom views by myself (with disclosure buttons on the left), and customized the header/footer of the table as well. the only thing that is left is the Index View.

like image 443
reflog Avatar asked Mar 04 '10 08:03

reflog


People also ask

What is RTL in UI?

When a UI is changed from LTR to RTL (or vice-versa), it's often called mirroring. An RTL layout is the mirror image of an LTR layout, and it affects layout, text, and graphics. When a UI changes from one direction to another, these items are not mirrored: Numbers.

What is RTL and LTR?

For example, the en-US locale (for US English) specifies left-to-right. Most Western languages, as well as many others around the world, are written LTR. The opposite of LTR, RTL (Right To Left) is used in other common languages, including Arabic ( ar ) and Hebrew ( he ).

What is right to left design?

In RTL languages, writing and reading is done from right to left. This directional change affects the structure of the website, as well as typography, icons, and images. To design an RTL project, we use a principle that seems simple at first. We flip or mirror every piece of content, with a few key exceptions.

How can I support Arabic language in IOS?

Alternatively, you can set the region and then set the preferred language to either Arabic or Hebrew. In System Preferences, click Language & Region. Choose a region that uses the language from the Region pop-up menu.


1 Answers

Given that the built-in apps don't flip their layout when you switch the UI language to Hebrew, I think you shouldn't do it either. If your app uses a RTL layout while all other apps use a LTR layout, this might be quite confusing.

Maybe Apple will improve their RTL support one day. If you stick to standard controls, you will probably get most of these improvements for free.

like image 149
oefe Avatar answered Sep 23 '22 18:09

oefe