iOS Developer

轻拍手势UITapGestureRecognizer

2016-11-23  本文已影响200人  七叶5

轻拍手势识别(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
上一篇下一篇

猜你喜欢

热点阅读