ユーザーがテーブルビューをプルダウンして表示できるようにしたときに、テーブルのヘッダー ビューの一部を表示できるようにしたいと考えています。同様に、ユーザーがヘッダーをビューの外に押し出したときに非表示にしたいと考えています。
これを行うために、テーブルの上部を非表示にするコンテンツ インセットを設定しました。表示したい部分を非表示にするコンテンツオフセットも設定しました
+------------------------------+
| Top part of header (hidden) |
+------------------------------+
| |
| Bottom part (I want to show) |
| |
+------------------------------+
| |
| |
| Table view |
| |
| |
+------------------------------+
問題は、ビューをスクロールすると、テーブルを押し上げても、コンテンツ オフセットがリセットされ、表示したい部分が表示されているように見えることです。
この問題scrollViewWillEndDragging:withVelocity:targetContentOffset:targetContentOffset
により、スクロールしている方向に対してコンテンツのオフセットをアニメーション化するために使用できなくなります。
ここに私のコードがあります(でviewDidAppear:
)
CGRect hiddenPartOfHeaderFrame = self.hiddenPartOfHeaderFrame.frame;
UIEdgeInsets tableContentInset = UIEdgeInsetsMake(- CGRectGetHeight(hiddenPartOfHeaderFrame), 0.0f, 0.0f, 0.0f);
[self.tableView setContentInset:tableContentInset];
CGPoint tableContentOffset = CGPointMake(0.0f, (CGRectGetHeight(self.tableView.tableHeaderView.frame)));
[self.tableView setContentOffset:tableContentOffset];
スクロール時に変更するのはコンテンツオフセットのプロパティですか、それともここで私が考慮していない何か他のことが起こっていますか?
いつもありがとう