Swift 3.0没有名为CGAffineTransformScale
的方法。Swift 3.0中的CGAffineTransformScale
func didPinchGesture(pinchRecognizer : UIPinchGestureRecognizer) {
if let view = pinchRecognizer.view {
view.transform = CGAffineTransformScale(view.transform,
recognizer.scale, recognizer.scale)
pinchRecognizer.scale = 1
}
}
scaleBy
不会自动完成,但加入CGAffineTransform
scaleBy
抛出错误,因为scale
已不再CGAffineTransform的属性: CGAffineTransform.scaledBy(view.transform, pinchRecognizer.scale, pinchRecognizer.scale)
。
用Swift 3.0配置捏手势识别器的最佳方式是什么?
我添加链接到文档 – Alexander
谢谢,@亚历山大。我应该写些什么来改善我的问题? – Eric
@Eric并不是真的,但是在回答之前尽可能多花一点努力去搜索这些东西。许多Cocoa API被实现为C结构体(比如'CGAffineTransform'),并且有一组全局函数作用于它们(比如'CGAffineTransformScale'),因为它们提供比Objective C类/实例方法更快的性能。 Swift原生支持结构,并支持结构上的实例方法,所以这样的C API被导入为本地Swift结构,并且它们相应的全局函数作为实例方法被导入到这些本地Swift结构中。 – Alexander