アレンジされたサブビューの内在的なコンテンツサイズが変更されたときにアニメーション表示できますか?アニメーションUIStackView arrangedSubviewコンテンツサイズの変更
たとえば、配置されたサブビューがあるとします.1つのUILabelをエッジに固定して保持しています。そのラベルには少量のテキストしかありません。新しいテキストが現れます。これは前のテキストよりも大きいです。ラベルの本質的なコンテンツサイズがより大きくなりました。
私はそうのようにそれをアニメーション化できるようにしたいと思います:
stackView.layoutIfNeeded()
self.label.text = self.expanded ? textTwo : textOne
UIView.animateWithDuration(0.3) {() -> Void in
self.stackView.layoutIfNeeded()
}
stackviewを現在アニメーションブロックを無視して、新しいものに古いコンテンツのサイズから「ジャンプ」。
もちろん、配置されたサブビューの高さを手動で調べ、その制約をアニメートすることもできます。私は可能ならばそれを避けたいと思います。
label.text = expanded ? textOne : textTwo
UIView.animateWithDuration(0.4) {() -> Void in
self.stackView.setNeedsLayout()
self.stackView.layoutIfNeeded()
}
は動作しません:働く何かが見つかり
スーパービューのレイアウトを調整しようとしましたか? – jervine10