轻拍手势识别(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
网友评论