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