动画自动布局约束不起作用
Animating Auto Layout Constraints Not Working
iOS10,Swift3.1
我在 UITableViewCell
中有一个名为 graphPopup
的 UIView
,我正在尝试对其进行动画处理。基本上,当有人点击图表时,会出现一个弹出窗口,我希望它能将 x
和 y
动画化到位。
除了弹出窗口的动画外,一切正常。这是它现在的样子:
我希望弹出窗口从点到点滑动到位。这是我的代码:
class TotalCell: UITableViewCell, ChartViewDelegate{
@IBOutlet weak var graphPopup: UIView!
@IBOutlet weak var popupConstraintY: NSLayoutConstraint!
@IBOutlet weak var popupConstraintX: NSLayoutConstraint!
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {
//...
graphPopup.isHidden = false
//Set new auto layout constraints
self.popupConstraintX.constant = highlight.xPx-44
self.popupConstraintY.constant = highlight.yPx+18
//Animate (which does nothing)
UIView.animate(withDuration: 1.0, animations: {
self.graphPopup.layoutIfNeeded()
})
}
}
知道我可能做错了什么吗?如果我完全删除动画位,它的行为方式相同,但我知道正在调用动画。
有什么想法吗?
尝试 self.layoutIfNeeded()
而不是 self.graphPopup.layoutIfNeeded()
。
iOS10,Swift3.1
我在 UITableViewCell
中有一个名为 graphPopup
的 UIView
,我正在尝试对其进行动画处理。基本上,当有人点击图表时,会出现一个弹出窗口,我希望它能将 x
和 y
动画化到位。
除了弹出窗口的动画外,一切正常。这是它现在的样子:
我希望弹出窗口从点到点滑动到位。这是我的代码:
class TotalCell: UITableViewCell, ChartViewDelegate{
@IBOutlet weak var graphPopup: UIView!
@IBOutlet weak var popupConstraintY: NSLayoutConstraint!
@IBOutlet weak var popupConstraintX: NSLayoutConstraint!
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) {
//...
graphPopup.isHidden = false
//Set new auto layout constraints
self.popupConstraintX.constant = highlight.xPx-44
self.popupConstraintY.constant = highlight.yPx+18
//Animate (which does nothing)
UIView.animate(withDuration: 1.0, animations: {
self.graphPopup.layoutIfNeeded()
})
}
}
知道我可能做错了什么吗?如果我完全删除动画位,它的行为方式相同,但我知道正在调用动画。
有什么想法吗?
尝试 self.layoutIfNeeded()
而不是 self.graphPopup.layoutIfNeeded()
。