私は、UICollectionViewを含むいくつかのサブビューを含むスーパービューを持っています。スーパービューには、画面の下部にピンの位置を固定するレイアウト制約があります。その制約を変更し、UIViewControllerでself.view.layoutIfNeeded()
を呼び出して、ビューを非表示にしたいとします。これは、UICollectionViewのセルがアニメーションの開始時にalpha = 0に落ち、最後にalpha = 1に戻ってしまうことを除いて、うまく動作します。スーパービューの制約のアニメーション化時にUICollectionViewCellsがアルファ値を変更するのはなぜですか?
アニメーションが速いのですばらしいことではありませんが、なぜこれが起こっているのか分かりません。他のサブビューではこのような振る舞いはなく、UICollectionView自体はアルファを変更しません。セルだけです。
私が呼ぶスーパー非表示にするには:アニメーション(5秒)の低速で
entryOffset.constant = entryHeight.constant
UIView.animateWithDuration(5, animations: {
self.view.layoutIfNeeded()
}) { (finished) in
}
細胞が完全に...隠し、その後に戻ってフェードイン、私は内側に壊れていることは明らかであるが。 :
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {}
、あなたはそれは...ないUICollectionView自体変更されただけ上位レベルの制約であるので、私も理解していないいる(細胞が再ロードされていることがわかります
。なぜ細胞のアルファ値が変化しているのか、どうすればこれを防ぐことができるのか?
あなたは今までどこにでもこの上取得しましたか? –