美文网首页iOS Developer
轻拍手势UITapGestureRecognizer

轻拍手势UITapGestureRecognizer

作者: 七叶5 | 来源:发表于2016-11-23 16:30 被阅读200次

    轻拍手势识别(UITapGestureRecognizer)

    手势一共有七种,轻拍,长按,平移,轻扫,旋转,捏合,屏幕边缘
    重点:轻拍,长按,缩放

    以下创建的所有手势都将会添加到gestureView上

    //将view的背景颜色设置为白色
     self.view.backgroundColor = UIColor
            //创建一个UIView
     let gestureView = UIView(frame: CGRect(x: 0, y: 100, width: 
     308, height: 308))
     gestureView.backgroundColor = UIColor.green
     self.view.addSubview(gestureView)
    

    设置轻拍关联方法(能识别出用户的轻拍操作)

    let tap = UITapGestureRecognizer(target: self, action: #selector(tapAction))
    

    设置轻拍要求的最低次数

    tap.numberOfTapsRequired = 2
    

    设置轻拍要求的手指个数(苹果设备最多支持11根手指对象)

    tap.numberOfTouchesRequired = 1
    

    添加轻拍手势

    gestureView.addGestureRecognizer(tap)
    

    在viewDidLoad外面实现tapAction方法

    //MARK:- 轻拍手势关联方法
        func tapAction(sender:UITapGestureRecognizer) {
            //根据手势对象获取到手势所在的视图对象(sender.view表示gestureView)
            let aView = sender.view
            //当我们轻拍gestureView的时候gestureView会改变颜色
            aView?.backgroundColor = backRandomColor()
        }
    

    定义一个backRandomColor方法用来随机变换背景颜色

    func backRandomColor()->UIColor {
           //产生0~1的随机数
           let redView = Float(arc4random_uniform(256))/255.0
           let greenView = Float(arc4random_uniform(256))/255.0
           let blueView = Float(arc4random_uniform(256))/255.0
           //产生随机颜色
           let color = UIColor(red: CGFloat(redView), green: CGFloat(greenView), blue: CGFloat(blueView), alpha: 1.0)
           return color
       }
    
    Simulator Screen Shot 2016年11月23日 下午4.31.43.png Simulator Screen Shot 2016年11月23日 下午4.31.49.png

    相关文章

      网友评论

        本文标题:轻拍手势UITapGestureRecognizer

        本文链接:https://www.haomeiwen.com/subject/zusvpttx.html