Reputation: 893
Swift 3.0 does not have a method called CGAffineTransformScale
.
func didPinchGesture(pinchRecognizer : UIPinchGestureRecognizer) {
if let view = pinchRecognizer.view {
view.transform = CGAffineTransformScale(view.transform,
recognizer.scale, recognizer.scale)
pinchRecognizer.scale = 1
}
}
scaleBy
does not autocomplete but added to CGAffineTransform
scaleBy
throws error, since scale
is not a property of CGAffineTransform anymore:
CGAffineTransform.scaledBy(view.transform, pinchRecognizer.scale, pinchRecognizer.scale)
.
What is the best way to configure the pinch gesture recognizer with Swift 3.0?
Upvotes: 8
Views: 6634
Reputation: 6705
You can use a scale transform in Swift 3 like this:
if let view = pinchRecognizer.view {
view.transform = CGAffineTransform(scaleX: recognizer.scale, y: recognizer.scale)
...
}
Upvotes: 1
Reputation: 523294
In Swift, CGAffineTransformScale
is imported as an instance method on the CGAffineTransform
struct, called scaledBy(x:y:)
:
view.transform = view.transform.scaledBy(x: recognizer.scale, y: recognizer.scale)
Upvotes: 20