だから私はコンテナビュー(それは画面の端にドッキングしている)とで、それの外にスライドするようになっています子景色を眺めることができます。、追加の再利用および削除NSLayoutAnchors
func slideOut() {
UIView.animateWithDuration(Double(0.5), animations: {
self.container.bottomAnchor
.constraintEqualToAnchor(self.child.bottomAnchor).active = false
self.view.layoutIfNeeded()
})
}
func slideIn() {
UIView.animateWithDuration(Double(0.5), animations: {
self.container.bottomAnchor
.constraintEqualToAnchor(self.child.bottomAnchor).active = true
self.view.layoutIfNeeded()
})
print("numConstraints: \(container.constraints.count)")
}
slideIn()
アニメーションは、まさにその通りです。問題は私がアニメーションを行う方法を知らないことです。slideOut()
上記のようにNSLayoutConstraint
を無効にすると、何も起こりません。代わりにした場合、私は試してみてください。
self.container.bottomAnchor
.constraintEqualToAnchor(self.child.topAnchor).active = true
を同時に制約を満たすことができないことについて警告がありと何も視覚的に起こりません。 また、NSLayoutConstraint
をアクティブにすると、制約の数が増えます(これは良いことではありません)。
だから私の質問は以下のとおりです。
- 私はこのケースで
slideIn()
アニメーションの逆をどのように行うのですか? - 繰り返されるアニメーションの場合に既存の制約を再利用して、制約の数が足りないようにするにはどうすればよいですか?
アンカーで最新のサブビューボトム拘束を更新して、UIScrollView contentSizeを変更しようとしていました。それを無効にしたり、変更したり、再起動したりすることができました。この回答をお寄せいただきありがとうございます。なぜなら、それがなければ何をすべきかを推測することが困難だったからです。 – Skoua