我正在操场上玩(很棒,对吗?]
如果我想使用模拟器进行捏合手势,则可以使用选项并移动鼠标来执行捏合手势。
相同的组合在Playgrounds中没有任何作用。
对于某些示例代码,您可以复制-粘贴以下内容:
import UIKit
import PlaygroundSupport
class MyViewController: UIViewController {
let clickableView = UIView()
override func loadView() {
let view = UIView()
view.backgroundColor = .lightGray
clickableView.backgroundColor = .blue
view.addSubview(clickableView)
clickableView.translatesAutoresizingMaskIntoConstraints = false
clickableView.widthAnchor.constraint(equalToConstant: 200).isActive = true
clickableView.heightAnchor.constraint(equalToConstant: 200).isActive = true
clickableView.centerYAnchor.constraint(equalTo:view.centerYAnchor).isActive = true
clickableView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
self.view = view
}
override func viewDidLoad() {
super.viewDidLoad()
let pan = UIPanGestureRecognizer(target: self, action: #selector(handlePan(_:)))
clickableView.addGestureRecognizer(pan)
let pinch = UIPinchGestureRecognizer(target: self, action: #selector(handlePinch(_:)))
clickableView.addGestureRecognizer(pinch)
}
@objc func handlePinch(_ sender: UIPinchGestureRecognizer) {
guard let gestureView = sender.view else {
return
}
gestureView.transform = gestureView.transform.scaledBy(
x: sender.scale,
y: sender.scale
)
sender.scale = 1
}
@objc func handlePan(_ sender: UIPanGestureRecognizer) {
guard let targetView = sender.view else {return}
let translation = sender.translation(in: view)
targetView.center = CGPoint(x: targetView.center.x + translation.x
,y: targetView.center.y + translation.y)
sender.setTranslation(CGPoint.zero, in: view)
}
}
PlaygroundPage.current.liveView = MyViewController()
有什么方法可以在Playgrounds中测试捏手势吗?
您实际上可以使用选项键在操场上做两个手指的手势,但这有点挑剔。
CGPoint(x: 384, y: <half of your live view's height>)
,这可能是因为游乐场使用的设备是iPad Pro(9.7英寸),其屏幕尺寸为768x1024(并且384 = 768/2)。因此,如果在执行上述(1)之后没有看到另一个圆圈,请尝试将实时视图变大,例如768x1024,或者在按住Option的同时使用shift键将另一个圆圈拖入视图。这很棘手,但是可以做到。您必须将鼠标移至实时视图的右侧,按住Option + Shift,将其拖至实时视图的左侧,释放Shift(但not选项),再次拖动至右侧,然后然后重复几次,直到看到两个灰色圆圈。证明可以在操场上完成:
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9kUHBHcS5wbmcifQ==” alt =“在操场上的两指圆圈”>