swift4--为视图添加手势

手势 - 单击


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //开启图像视图的交互功能
    view.isUserInteractionEnabled = true

    //创建一个手势监测类
    let guesture = UITapGestureRecognizer(target:self,action:#selector(self.singleTap))

    //将创建的手势指定给图像视图
    view.addGestureRecognizer(guesture)
}

//绑定的事件
@objc func singleTap(){
        
}

手势 - 长按

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
        
    //开启图像视图的交互功能
    view.isUserInteractionEnabled = true

    // 创建长按手势对象
    let guesture = UILongPressGestureRecognizer(target: self, action: #selector(ViewController.longPress(_ :)))
        
    // 将手势指定给长按事件
    view.addGestureRecognizer(guesture)
        
}
    
@objc func longPress(_ gusture:UILongPressGestureRecognizer)
        
{
    // 检测手势阶段
    if(gusture.state == UIGestureRecognizer.State.began)        
    {
         //要执行的代码
    }
        
}

 

手势--双击

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //开启图像视图的交互功能
    view.isUserInteractionEnabled = true

    //创建一个手势监测类
    let guesture = UITapGestureRecognizer(target:self,action:#selector(self.singleTap))

    //设置为两次单击
    guesture.numberOfTapsRequired = 2

    //设置手势为单次双击事件
    guesture.numberOfTouchesRequired = 1

    //将创建的手势指定给图像视图
    view.addGestureRecognizer(guesture)
}

//绑定的事件
@objc func doubleTap(){
        
}

手势--拖动

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    //开启图像视图的交互功能
    view.isUserInteractionEnabled = true

    // 创建拖动手势对象
    let guesture = UIPanGestureRecognizer(target: self, action: #selector(self. drag(_ :)))

    //将创建的手势指定给图像视图
    view.addGestureRecognizer(guesture)
}

//绑定的事件
@objc func drag(){
     let translation : CGPoint = sender.translation(in: iconView)
     if sender.state == UIGestureRecognizer.State.recognized {
        print("recognized")
     }
     if sender.state == UIGestureRecognizer.State.began {
        print("began")
     }
     if sender.state == UIGestureRecognizer.State.changed {
        print("====== changed ======")
        print("x = \(translation.x)")
        print("y = \(translation.y)")
        print("=====================")
     }
     if sender.state == UIGestureRecognizer.State.cancelled {
        print("cancelled")
     }
     if sender.state == UIGestureRecognizer.State.ended {
        print("ended")
     }   
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值