swift 选中长按项_Swift - 各种手势检测大全(UIGestureRecognizer及其子类)

本文介绍了 Swift 中 UIGestureRecognizer 的主要子类,包括 UISwipeGestureRecognizer(滑动)、UIScreenEdgePanGestureRecognizer(边缘滑动)、UITapGestureRecognizer(轻点)、UIPinchGestureRecognizer(捏合)、UIRotationGestureRecognizer(旋转)、UIPanGestureRecognizer(拖动)和 UILongPressGestureRecognizer(长按)。每个手势的使用方法、属性和注意事项都有详细说明。
摘要由CSDN通过智能技术生成

(本文代码已升级至Swift4)

UIGestureRecognizer 有许多子类,用于监听一些常见的手势事件,这些子类主要有:

1,UISwipeGestureRecognizer:滑动(快速移动)

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

let swipe = UISwipeGestureRecognizer(target:self, action:#selector(swipe(_:)))

swipe.direction = .up

self.view.addGestureRecognizer(swipe)

}

@objc func swipe(_ recognizer:UISwipeGestureRecognizer){

print("swipe ok")

let point=recognizer.location(in: self.view)

//这个点是滑动的起点

print(point.x)

print(point.y)

}

}

3278c794e9ba62fe029f2aefda017c45.png

注意1:如果 UISwipeGestureRecognizer 在不指定方向的时候,默认向右滑动才会触发事件。如果要指定方向,需要设置 direction 属性

//表示监听滑动的方向为向上

swipe.direction = .up

注意2:有网友问如果各个方向都要响应怎么办,只要多定义几个 UISwipeGestureRecognizer 就可以了

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {

super.viewDidLoad()

let swipeUp = UISwipeGestureRecognizer(target:self, action:#selector(swipe(_:)))

swipeUp.direction = .up

self.view.addGestureRecognizer(swipeUp)

let swipeDown = UISwipeGestureRecognizer(target:self, action:#selector(swipe(_:)))

swipeDown.direction = .down

self.view.addGestureRecognizer(swipeDown)

}

@objc func swipe(_ recognizer:UISwipeGestureRecognizer){

if

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值