Я пытаюсь реализовать анимацию для прямоугольника для выполнения модального вертикального swipe.However, когда я пытаюсь скомпилировать код, я получаю следующую ошибку: "Тип выражения SWIFT 4" @value CGRect "неоднозначен без дополнительного контекста". Я выделил проблему для аргументов, которые передаются в значение CGRect init, но, согласно документации Apple iOS, этих параметров должно быть достаточно, чтобы указать представление "frame", которое мне нужно оживить.
Вот мой код:
func animateTransition(using transitionContext: UIViewControllerContextTransitioning) {
guard
let fromView = transitionContext.viewController(forKey: .from),
let toView = transitionContext.viewController(forKey: .to)
else {
return
}
let containerView = transitionContext.containerView
containerView.insertSubview((toView.view)!, belowSubview: (fromView.view)!)
let toFrame = transitionContext.finalFrame(for: toView)
let screenBounds = UIScreen.main.bounds
let bottomLeftCorner = CGPoint(x: 0, y: screenBounds.height)
let finalFrameForVC = CGRect(origin: bottomLeftCorner, size: screenBounds.size)
UIView.animate(withDuration: 2, delay: 1,
options: [], (using: transitionContext.finalFrame(for: fromView)),
animations: {
fromView.view.frame = finalFrameForVC
},
completion: { _ in
transitionContext.completeTransition(!transitionContext.transitionWasCancelled)
})
}