私はUICollectionの上に2つのラベルがあり、コレクションビューでスクロールするときにアニメートする必要があります。基本的には、画面が大きなスクロール可能なビューであるという感じをユーザに与えます。私はそれが小さな画面上でより見やすくするために、次のコードを作ってみたが、それは私が欲しい効果を与えていないUICollectionViewをスクロールするときにNSLayoutConstraintをアニメーション化する
:
私の見解は、インターフェイスビルダーで次のようになります。
func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if(velocity.y>0){
if Device.IS_3_5_INCHES() {
self.topConstraint.constant = -100
}
if Device.IS_4_INCHES() {
self.topConstraint.constant = -70
}
if Device.IS_4_7_INCHES() {
self.topConstraint.constant = 0
}
if Device.IS_5_5_INCHES() {
self.topConstraint.constant = 0
}
}else{
self.topConstraint.constant = 50
}
}
このコードの問題点は、コレクションビューの一部であるかのように、アニメーションの代わりに画面が「ジャンプ」することです。
このコードのもう1つの問題は、他の方向へのスクロールを開始するとすぐに「ジャンプ」することです。 UIScrollViewの上端か下端かに関わらず。 TopConstraintを50に戻すことは、あなたが一番上にいるときだけ満足すべきです。ここで
代替としてコレクションビューヘッダーを使用できますか? – Danoram
最初の2つのセルを行全体にして、各セルの内側にラベルを入れるのはなぜですか? – JustinM
私は何でもできる。スクロールするときにヘッダーが消えますか? –