私はそのプルダウンからリフレッシュのことをやっています。 scrollViewDidEndDeceleratingでは、オフセットが特定のポイントを超えているかどうかをチェックし、scrollViewDidEndDraggingでは、プルダウンセクションを表示するようにcontentInsetを設定します。UITableViewがリフレッシュしてちらつきを引き起こします。それを防ぐ方法は?
しかし、おそらく、スクロールアニメーション中にcontentInsetがリセットされているために、これがちらつきを引き起こします。私はscrollViewWillEndDraggingでtargetContentOffsetを設定することでこれを防ぐことができるかもしれないと思っていましたが、そのトリックはしていないようです。あなたは(それ以外の場合はスクロールまたは中に)まったくのUITableViewに割り当てられたフレームを変更した場合
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
if (scrollView.contentOffset.y < -kRefreshViewDelta)
{
self.tableView.contentInset = UIEdgeInsetsMake(kRefreshViewHeight, 0.0f, 0.0f, 0.0f);
}
}
- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
if (scrollView.contentOffset.y < -kRefreshViewDelta)
{
targetContentOffset->y = kRefreshViewHeight ;
}
}
ありがとうございます。私は、あなたが検索バーをヘッダーに入れようとしていることを44から仮定していますか? – MusiGenesis
@MusiGenesis実際に私はユーザーが使用するようにプルダウンできる検索バーを隠していましたが、ユーザーがもう使用していないと非表示になります。 – sc0rp10n
ええ、ここで同じです。 – MusiGenesis