我在Interface Builder中只使用了NSConstraints来设置视图。现在我有一个想要动画化的 StackView。这会导致所有布局都放错位置。
- 我试图用临时(具有相同的帧(替换视图(堆栈视图(,但这不起作用。
-
我也试图设置
translatesAutoresizingMaskIntoConstraints
-
还尝试了以下方法:
self.numbers_Top_Constraint.constant = self.topscreen.frame.size.height self.topscreen.setNeedsUpdateConstraints() UIView.animate(withDuration: 0.5, animations: { self.topscreen.layoutIfNeeded()
}
你知道怎么做吗?
使用约束而不是更改框架。将上边距约束设置为堆栈视图,然后在动画之前更改它并调用 self.view.layoutIfNeed((。像这样的东西——
self.numbersStackViewTopMarginConstriant.constant = self.view.frame.size.height
UIView.animate(withDuration: 0.5, animations: {
self.view.layoutIfNeeded()
}) { (Bool) in