2010-03-04 78 views
7

我很努力在iPhone应用程序中创建RTL UI。该框架似乎没有任何支持RTL语言。 唯一的是标签内部的对齐,这很好,但它与其他控件行为冲突。iPhone中的从左至右的UI(希伯来语)

现在的问题是: 是否有一个RTL TableView的工作代码?一些可以处理左侧显示按钮的部分,右侧对齐的部分标题,左侧对齐的索引视图?

据我了解,我不能动的tableview,我必须覆盖一些自定义的控件的索引视图...

任何建议/指针/例子吗?

p.s.这不是这个问题的重复:Right to Left Alignment for UITableView 因为我正在寻找的是更深的定制,而不仅仅是一种新型的CellView。

(更新:3月10日)现在 - 我已经删除了indexViewtableView在所有的支持,实现了细胞的自定义视图通过我自己(与左边的按钮披露),以及定制的页眉/页脚桌子也是如此。唯一剩下的就是Index View

+0

我为iPhone写了一个希伯来语词汇训练师,直到iPhone OS 3在我展示他们之前,我不得不扭转字符串。从3.0开始,我对RTL脚本没有任何问题,但后来我只使用最基本的控件。 – 2010-03-10 15:13:59

回答

1

我不相信有这样做的“正确”的方式,但在这里是一个解决办法:

在视图中创建一个UIView和一个UITableView添加到它。将UIView添加为“主”视图的子视图,并将其边界指定为离开屏幕左侧,以便除“索引”视图之外的所有索引均被剪切。现在,您只需添加一些代码即可在触摸子视图中的索引时同步这两个表。

显然这不是最好的解决方案,但它是可以工作的。

祝你好运。

+0

你是对的,这确实看起来像解决方案(尽管你必须沮丧和肮脏才能得到它)是一种耻辱。 有没有机会看到这个实现的地方,可以共享一段代码? – reflog 2010-03-12 16:56:07

0

我认为子类化UITableViewCell来获得你所追求的行为是解决这个问题的方法。这样做相当简单。

但是,我不太确定苹果如何对批准AppStore应用程序做出反应。他们有相当严格的用户界面指南,其中声明表格单元中的附件位于每个单元格的右侧......但是我相信,根据您的要求,它们是合理的。

+0

谢谢,但这不是真正的问题的答案,因为你可以看到我已经做了“TableCell”的子类化,所以我询问了“IndexView”。 – reflog 2010-03-11 09:26:34

0

我没有使用从右到左文本的经验,但是您是否尝试将文本对齐设置为正确?

[cell.textLabel setTextAlignment:UITextAlignmentRight]; 
4

考虑,当你切换UI语言希伯来语内置的应用程序不轻弹它们的布局,我认为你不应该这样做,要么。如果您的应用程序使用RTL布局,而所有其他应用程序使用LTR布局,则可能会造成混淆。

也许苹果有一天会改善他们的RTL支持。如果你坚持使用标准控件,你可能会免费获得大部分这些改进。