UIView animateKeyframes animating with delay even though delay value set to 0

We’re using the function below to animate a UIView from off-screen (below viewable area) to on-screen.

The delay parameter is set to 0, but for some reason the animation still delays for a beat or two before starting.

We tested this by setting midYDelta to a value such that the top of the view always appears on screen. So we’re able to see the view appear for a moment before the animation begins. However, the animation should begin the instant the view appears on-screen.

We tried changing values for relativeDuration, but the delay does not occur for some reason.

fileprivate func toggleView(show: Bool) {
    // Set animation properties
    let animationDur = 0.75
    let callbackDelay = 0.5
    let midYDelta = show ? 0 : view.bounds.height/2 + summaryViewHeight/CGFloat(2)

    // Finish pending layout operations
    view.layoutIfNeeded()

    // Animate view
    UIView.animateKeyframes(withDuration: animationDur, delay: 0, options: .calculationModeCubic, animations: {
        UIView.addKeyframe(withRelativeStartTime: 0, relativeDuration: 1/5, animations: {
            self.viewMidYConstraint.constant = midYDelta
            self.view.layoutIfNeeded()
        })
    }, completion: nil)
}