2010-03-04 80 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支持。如果你堅持使用標準控件,你可能會免費獲得大部分這些改進。