J'essaye de créer un visage redimensionnable avec UIPinchGestureRecognizer. Tous les tutoriels me disent toujours en ligne pour réinitialiser l'échelle 1, comme ce code:Qu'est-ce que l'échelle et pourquoi dois-je la réinitialiser lors de l'utilisation de UIPinchGestureRecognizer?
func changeScale(byReactingTo pinchRecognizer: UIPinchGestureRecognizer)
{
switch pinchRecognizer.state {
case .changed,.ended:
scale *= pinchRecognizer.scale
pinchRecognizer.scale = 1
default:
break
}
}
où l'échelle est un CGFloat qui est liée à la taille du visage.
Cependant, je n'ai pas trouvé d'explication raisonnable quant à pourquoi pinchRocgnizer.scale doit toujours être remis à 1 après que l'utilisateur pince. Je comprends que la suppression pourrait causer un comportement erratique, mais pourquoi?
https://developer.apple.com/reference/uikit/uipinchgesturerecognizer/1622235-scale vous pouvez lire la documentation. Ce n'est pas la valeur delta donc vous ne devriez pas concaténer. –
@ user2215977 Mais la documentation n'explique pas pourquoi pinchRecognizer.scale doit être réinitialisé à chaque fois. –