1

STATES と CITIES を含む UITableview を作成しようとしています。まず、テーブルに STATES のみを表示し、各値のセルの右側に下向きの矢印を表示して、その下に値があることをユーザーに知らせたいと思います。ユーザーが矢印をクリックすると、テーブルが展開され、選択した STATE に関連付けられた CITIES が表示されます。次に、ユーザーは都市を選択するか、上向きの矢印をクリックして都市を「非表示」にすることができます。

Apple の「Table View Animations and Gestures」の例をダウンロードして確認しました。私が求めていることを達成するためのより簡単な方法を誰かが知っていることを望んでいました。

http://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html

4

3 に答える 3

2

やりたいことを正確に説明してくれました。これが私がこれに取り組む方法です。意味のないコードを提供せずに説明し、後で発生する可能性のあるコーディングの懸念に答える方が簡単だと思います。

テーブル ビュー データ ソースを配列の配列になるように設定します。アイデアは、配列内のすべてのインデックスが州を表すため、多数の都市を含むため、インデックスには配列 (都市の配列) が含まれるということです。親配列 (州の) は最初は空ですが、後でそれを埋める (都市の) 配列には適切な都市が入力されます。

次に、セクションを含むようにテーブル ビューを設定します (ここにコードを配置したくなりましたが、読み進めてください)。セクションは都市を表します。(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)sectionその後、デリゲートを使用してテーブル ビューにセクションを 入力できます。最初の実行では、セクションごとに 1 つのセルで実際のテーブルを埋めることができます (おそらく、「展開」または「さらに」という単語と下向き矢印を使用)。ユーザーがそのセルに触れると、didselectrowatindexpath を使用して、どのセクションが触れられたかを知ることができます (indexpath オブジェクトにはセクションが含まれています)。これで、それがどのセクションであるかがわかったので、そのセクションの都市の配列を追加してデータ ソースを変更するだけです。配列の配列 (親配列) を取得し、テーブルビューを更新します。

これにより、基本的に、テーブルビューにそれに応じたスタイルと感触が与えられます。実装は非常に簡単ですが、少しコードが必要です。私はこれを行っており、必要なコードを喜んで提供します。最も難しいのは、テーブルビューを正しい方法で更新することです。

編集コード:

上記の説明に従って、簡単な例を示しました。コードはGithubにありますので、ご不明な点がございましたらお気軽にお問い合わせください。

于 2012-10-25T18:56:17.767 に答える
0

この情報を表すためのより良い方法は、状態を含むUITableViewを作成し、各状態に右向きの小さな矢印を表示することだと思います。次に、ユーザーが州をクリックすると、その特定の州のすべての都市を表示する次のUITableViewをロードします。UIViewControllerを使用してCityリストをプッシュすると、ユーザーはStatesリストに簡単に戻ることができます。

このアプローチは、iOSユーザーにとってはるかに理にかなっています。これは、テーブルが機能することを期待しているためです。

UITableViewの使用方法を説明するチュートリアルはたくさんあります。これは、多くのUITableViewチュートリアルがあるサイトへのリンクです。リンクしたチュートリアルでは、UIViewControllerをスタックにプッシュして、状態リストに戻る簡単な戻るボタンがあるようにする方法について説明しています。

于 2012-10-25T18:33:23.510 に答える
0

通常、そのようなことは、別のビューにセグエして、セルに関する詳細を表示することによって行われます。

あなたが望むものは、実際にカスタムを作成することで実現できます。これには、矢印の画像とUITableViewCellが含まれます。ボタンが初めてクリックされた場合、セルをリロードして、都市を表示できるインナーを作成できます。もう 1 回クリックすると、セルが再度リロードされ、内部はまったく返されません。他のセルの矢印がクリックされた場合に前のセルをリロードして内部テーブルを非表示にする必要がある場合があるため、選択状態をどこかに保持する必要もあります。UIButtonUITableViewUITableViewUITableView

于 2012-10-25T18:37:02.150 に答える