JD.*_*JD. 2 uigesturerecognizer uiswipegesturerecognizer uipangesturerecognizer swift
我想在主视图中创建一个视图,并将滑动和拖动(平移)手势应用于该视图.但是如何知道那是刷卡还是平移手势?
@dfd是对的.您应该始终使用内置的iOS手势识别器.如果应用程序各自实现自己的逻辑来确定手势,iOS将是一个非常不一致的用户体验.
每个手势识别器都将成为其子类UIGestureRecognizer.你应该阅读文档.
在你的情况下你想要UISwipeGestureRecognizer和UIPanGestureRecognizer.
这是一个例子:
class ViewController: UIViewController {
override func viewDidLoad() {
let swipeRecognizer = UISwipeGestureRecognizer(target: self, action: #selector(userSwiped))
swipeRecognizer.numberOfTouchesRequired = 1
swipeRecognizer.direction = .left
let panRecognizer = UIPanGestureRecognizer(target: self, action: #selector(userPanned))
panRecognizer.minimumNumberOfTouches = 1
view.addGestureRecognizer(swipeRecognizer)
view.addGestureRecognizer(panRecognizer)
}
@objc private func userSwiped(recognizer: UISwipeGestureRecognizer) {
}
@objc private func userPanned(recognizer: UIPanGestureRecognizer) {
}
}
Run Code Online (Sandbox Code Playgroud)
在这里,我创建了手势识别器并将它们添加到我想要的任何视图中.你不必这样做viewDidLoad.通过设置目标,我们设置在识别手势时应调用哪个方法.识别器会自动将自身作为参数传递给您的自定义函数,以便您可以查询state属性等.您应该阅读文档以了解此过程对于每个手势识别器的不同之处.
| 归档时间: |
|
| 查看次数: |
2066 次 |
| 最近记录: |