7

iPhoneアプリケーションでRTLUIを作成するのに苦労しています。フレームワークはRTL言語をサポートしていないようです。唯一のことは、ラベル内の配置です。これは素晴らしいことですが、他のコントロールの動作と競合します。

問題は、RTL TableViewの動作するコードはありますか?開示ボタンを左側に、セクションタイトルを右揃えに、インデックスビューを左揃えに処理するものはありますか?

テーブルビューのインデックスビューを移動できないことを理解している限り、カスタムコントロールをオーバーレイする必要があります...

提案/ポインタ/例はありますか?

psこれは、この質問の重複ではありません。 私が探しているのは、新しいタイプのCellViewだけでなく、より深いカスタマイズであるため、UITableViewの右から左への配置です。

(更新:3月10日)今のところ-のサポートを完全に削除しindexViewtableViewセルを自分でカスタムビューとして実装し(左側に開示ボタンを使用)、テーブルのヘッダー/フッターもカスタマイズしました。残っているのは。だけですIndex View

4

4 に答える 4

4

UI言語をヘブライ語に切り替えても、組み込みアプリのレイアウトが反転しないことを考えると、そうすべきではないと思います。アプリがRTLレイアウトを使用し、他のすべてのアプリがLTRレイアウトを使用している場合、これは非常に混乱する可能性があります。

たぶん、AppleはいつかRTLサポートを改善するでしょう。標準のコントロールに固執する場合、おそらくこれらの改善のほとんどを無料で受けることができます。

于 2010-03-13T13:05:09.573 に答える
1

これを行う「正しい」方法があるとは思いませんが、次の1つの解決策があります。

ビュー内で、UIViewを作成し、それにUITableViewを追加します。UIViewを「マスター」ビューのサブビューとして追加し、その境界を画面の左側から外れるように指定して、インデックス以外のすべてが「マスター」ビューによってクリップされるようにします。これで、サブビューのインデックスに触れたときに2つのテーブルを同期するためのコードを少し追加するだけです。

明らかにこれは最善の解決策ではありませんが、うまくいく可能性があります。

幸運を。

于 2010-03-11T19:43:35.957 に答える
0

UITableViewCellをサブクラス化して、目的の動作を取得することが、これを回避する方法だと思います。これを行うのはかなり簡単です。

ただし、AppStoreのアプリケーションを承認するという点でAppleがどのように反応するかはよくわかりません。テーブルセルのアクセサリが各セルの右側にあることを示す非常に厳格なユーザーインターフェイスガイドラインがあります...しかし、要件を考慮すると、これで妥当であると確信しています。

于 2010-03-10T18:21:26.200 に答える
0

右から左へのテキストの使用経験はありませんが、テキストの配置を右に設定しようとしましたか?

[cell.textLabel setTextAlignment:UITextAlignmentRight];
于 2010-03-13T12:48:35.820 に答える