【发布时间】:2021-01-11 17:44:54
【问题描述】:
我正在尝试使用捏手势识别器向上和向下缩放 UITextView,但它始终以 1.0 的比例开始。
我试图实现这些答案:
iOS Pinch Zoom Start from Previous Scale
UIPinchGestureRecognizer. Make zoom in location of fingers, not only center
Pinch gesture scale resetting to 1?
但我一定是做错了什么,因为它每次仍然重置为 1.0 的比例。这是我的代码:
@objc func pinchRecognized(recognizer: UIPinchGestureRecognizer) {
var lastScale:CGFloat = 1.0
if let view = recognizer.view as? UITextView {
if (recognizer.state == .began) {
lastScale = 1.0
}
let scale = 1.0 - (lastScale - recognizer.scale)
view.transform = CGAffineTransform(scaleX: scale, y: scale)
view.font = UIFont.systemFont(ofSize: 40 * scale)
lastScale = recognizer.scale
}
}
【问题讨论】: