确定animation时的约束常量

我有一个视图控制器的顶部和底部视图设置如下:

---------------- | | | | | | | | ---------------- < constraint with constant of 250 | | | | | | | | ---------------- 

在IB中使用AutoLayout,我将每个视图设置为符合父级的外部,并给定中心约束250的常量。

然后我有一个IBOutlet我可以animation的中心约束:

 // MARK: - View Containers @IBOutlet weak public var topView: UIView! @IBOutlet weak public var bottomView: UIView! // MARK: - Constraints @IBOutlet weak var splitViewDividerConstraint: NSLayoutConstraint! 

和animation:

 func animateConstraint() { splitViewDividerConstraint.constant = someNumber UIView.animate(withDuration: duration, animations: { self.view.layoutIfNeeded() }) } 

在某些情况下,我需要确定约束条件是高于还是低于特定的y位置(假设当它上升超过100或更低的y点,或者低于400或更高的y点时)。

只要约束不是animation就可以工作,但是如果是这样,因为我在技术上在animation开始之前将约束设置为常量,它总是返回目标约束位置,如果约束animation仍然是不准确的发生。

有没有办法在animation中检索约束的当前位置?