2016-11-05 1 views
1

UILabel私に現在の日付がテーブルビューのヘッダーに追加されています。アプリが起動しているときは、最初からヘッダーを見ることができます。テーブルビューをドラッグダウンするときにのみUITableViewヘッダーを表示する方法

私が後にしているのは、テーブルビューをドラッグしてラベルを表示しようとしたときにのみ、アプリケーションがヘッダーを表示しないときです。そして、ヘッダーを解放するとき、再び隠されるべきです。

私はSnapchatがこのテクニックをStories画面で使用していると思います。

これはどのように達成できますか?

私はsetContentOffsetと思っていますが、アプリがヘッダーの上にテーブルビューを移動し始めると思います。しかし、その後、テーブルビューがドラッグされて解放されたときをどのように知ることができますか?

+0

あなたは 'UIRefreshControl'について話していますか?いずれにしても、ヘッダに春のアニメーションを追加することも、テーブルのオフセットが0.0より大きい場合にヘッダを表示することもできます。ユーザーがドラッグを停止すると、テーブルを上に戻します。 – Brandon

答えて

2

setContentOffsetを使用してtableViewDownを移動できることは間違いありません。 UIScrollViewDelegateメソッドscrollViewWillEndDragging(:withVelocity:targetContentOffset:)を実装して、ユーザーがtableViewを離したときに通知し、setContentOffset(:animated:)を呼び出してtableViewを元の位置に戻すようにアニメートすることができます。

+0

パーフェクト!これはうまくいった。欠けているのは、DispatchQueue.main.async内でsetContentOffsetを呼び出さなければならないということだけでした。それ以外の場合は動作しません。 – Kobe

関連する問題