Je suis en train de mettre en œuvre une animation pour un rectangle pour effectuer modal de balayage vertical.Cependant, lorsque j'essaie de compiler le code, j'obtiens l'erreur suivante "Swift 4 Expression de type '@valeur CGRect "est ambigu, sans plus de contexte". J'ai isolé le problème de l'argumentation qui est passé à la CGRect initialisation de la valeur, mais selon l'iOS d'Apple documentation de ces paramètres devrait être suffisant pour spécifier le cadre de la vue que j'ai besoin de l'animer.
Voici mon code:
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)
})
}