0

店舗の営業時間を設定する必要があるビューを持つアプリケーションに取り組んでいます。

したがって、すべての曜日のリストがあります:
- 月曜日 [10:00] から [12:00] (-) (+)
- 火曜日 [10:00] から [12:00] (-) ( +)
                 [14:00] から [18:00] (-) (+)
- 水曜日 (+)
- 木曜日 (+)
- 金曜日 [10:00] から [18:00] (-) (+) - 土曜日 (+)
- 日曜日 (+)

そのため、1 日に複数の営業時間がある場合があります。(-) ボタンを押すと行が削除され、(+) ボタンを押すと行が追加されます。

メールのルール構成のようにこれを実装したいと思います。(これは私の最初の質問なので、まだスクリーンショットを提供できません)

これは、毎日 UITableView があり、すべての行が開始時間の間隔であるテーブルビューのように実装できると思います。しかし、よくわかりません。その場合、テーブルビューのサイズを動的に変更して必要な行だけを表示するにはどうすればよいですか? そして、重なりがないようにレイアウトを再配置するにはどうすればよいですか?

より単純なアプローチ、またはそれに似たものを扱うフレームワークの方がさらに良いでしょう。

すでにご協力いただき、誠にありがとうございます。

4

2 に答える 2

0

私の意見では、UITableView を利用することは確かに良いアプローチです。さまざまなサイズの行を管理するには、セルが表示するはずのコンテンツの CGFloat の高さを返す UITableViewCell クラスの静的メソッドを作成することをお勧めします。たとえば、セルにテキストを表示する必要がある場合は、次のようなメソッドを作成します。

+ (CGFloat)heightForCellWithText:(NSString *)text

tableView:heightForRowAtIndexPathこの情報は、UITableViewDelegate のメソッドを介して渡す必要があることに注意してください。この手法の優れた点は、高さを決定するために UITableViewCell インスタンスを実際に作成する必要がないことです。これは、インスタンスが既に割り当てられているかどうかに関係なく、必要になると計算されて TableView に渡されます。

これがあなたに正しい方向へのprodを与えることを願っています

于 2013-01-11T16:52:22.527 に答える
0

一部のデリゲート メソッドを使用してテーブル ビューを編集する機能を提供する Apple デリゲート メソッドがあります。

また、行を削除して、テーブルに新しい行を追加することもできます。ただし、行を追加または削除するときは、毎回データ ソースを更新する必要があることに注意してください。

ここでこれらすべての方法を説明するのは難しいです。しかし、これらすべての機能がすでに実装されているサンプル プロジェクトがいくつかあります。

ここでテーブルビュースタイルを編集するためのサンプルプロジェクトを確認してくださいサンプルコード

この別のサンプル コードは、サンプル プロジェクト 2です。

これがあなたを助け、あなたの問題を解決することを願っています。

于 2013-01-11T16:54:35.067 に答える