0

私はトンを探していましたが、答えが見つからないようです...

すべての月のすべての日をスクロールするtableViewがあります。そして、私はtitleForHeaderInSection:とviewForHeaderInSection:を持っています。これは、毎月の上部にセクションヘッダーを表示します。これは、上部で適切に置き換えられるセクションです。しかし、スクロールするとtitleLabelが適切な月に変わる単一のヘッダーを作成するにはどうすればよいですか(つまり、複数のセクションヘッダーがなく、1つだけです)。

これを「変更されるヘッダーを持つ1つの(大きな)セクション」または「変更されるheaderView」などとして設定する必要があるかどうかはわかりません...任意の例をいただければ幸いです。前もって感謝します。

4

1 に答える 1

2

静的ビューを作成して、tableViewの上に配置できます。次に、visibleCellsプロパティを使用して、表示されているセルを判別できます。それらのセルが新しいセクションのセルに変更されたら、の上にある静的ビューを更新できますUITableView

あなたがあなたのdelegateであると、UITableViewあなたはそれが構築されているのでもありdelegateますUIScrollView

scrollViewDidScroll:したがって、デリゲートコールをキャッチして、そこでヘッダーを更新できます。

だからそれをレイアウトするには:

1.)上にヘッダービューを作成しますUITableView

2.)のdelegateになるUITableView

scrollViewDidScroll:3.)巻物を検出する方法を実装する

4.)scrollViewDidScrollメソッド内で、のvisibleCellsプロパティを使用して、UITableView表示されているセルを判別し、ヘッダービューを適切に更新します。

私はこのようなことをしたことがありませんが、なぜそれが機能しないのかわかりません。

編集:ハスカージェフが指摘したように。indexPathsForVisibleRows画面に何が表示されているかを判断するために使用する方がおそらく簡単です。次に、それをかなり簡単に使用して、表示されているセクションを判別できます。ありがとうジェフ!

于 2012-07-18T18:29:39.297 に答える