动画自动布局约束不起作用

Animating Auto Layout Constraints Not Working

iOS10,Swift3.1

我在 UITableViewCell 中有一个名为 graphPopupUIView,我正在尝试对其进行动画处理。基本上,当有人点击图表时,会出现一个弹出窗口,我希望它能将 xy 动画化到位。

除了弹出窗口的动画外,一切正常。这是它现在的样子:

我希望弹出窗口从点到点滑动到位。这是我的代码:

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()