import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = #colorLiteral(red: 1, green: 0.7982094178, blue: 0.7911132384, alpha: 1)
let gestureView = UIView(frame:CGRect(x: 50, y: 100, width: 308, height: 308))
gestureView.backgroundColor = #colorLiteral(red: 0.7828073154, green: 1, blue: 0.9114280926, alpha: 1)
self.view.addSubview(gestureView)
//手勢(shì)一共有七種:輕拍,長(zhǎng)按扬卷,平移牙言,縮放,旋轉(zhuǎn)邀泉,捏合嬉挡,屏幕邊緣。
//重點(diǎn):輕拍汇恤,長(zhǎng)按庞钢,縮放
/*
//輕拍手勢(shì):能識(shí)別出用戶的輕拍操作
let tap = UITapGestureRecognizer(target: self, action: #selector(tapAction))
//設(shè)置輕拍要求的最低次數(shù)
tap.numberOfTapsRequired = 1
//設(shè)置輕拍需求的手指?jìng)€(gè)數(shù),
//蘋果設(shè)備最多支持11個(gè)手指對(duì)象進(jìn)行觸摸
tap.numberOfTouchesRequired = 1
//添加輕拍手勢(shì)
gestureView.addGestureRecognizer(tap)
*/
/*
//長(zhǎng)按手勢(shì)
let long = UILongPressGestureRecognizer(target: self, action: #selector(longAction))
//設(shè)置最小長(zhǎng)按時(shí)間
long.minimumPressDuration = 1.0
//把長(zhǎng)按手勢(shì)添加到gestureView上
gestureView.addGestureRecognizer(long)
*/
//平移手勢(shì)
let pan = UIPanGestureRecognizer(target: self, action: #selector(panAction))
//把平移手勢(shì)添加到gestureView上
gestureView.addGestureRecognizer(pan)
}
//MARK:- 平移手勢(shì)的關(guān)聯(lián)方法
func panAction(sender:UIPanGestureRecognizer)? {
//1. 獲取手勢(shì)在視圖上的平移增量
let point = sender.translation(in: sender.view)
//2.讓手勢(shì)所在的視圖對(duì)象做仿射變換
sender.view?.transform = (sender.view?.transform.translatedBy(x: point.x, y: point.y))!
//3.將上次的平移增量置為0
sender.setTranslation(CGPoint(), in: sender.view)
}
//MARK:- 長(zhǎng)按手勢(shì)的關(guān)聯(lián)方法
func longAction(sender:UILongPressGestureRecognizer)? {
//改變手勢(shì)對(duì)象父視圖的背景顏色
sender.view?.superview?.backgroundColor = self.backRandomColor()
}
//MARK:- 輕拍手勢(shì)關(guān)聯(lián)方法
func tapAction(sender:UITapGestureRecognizer)? {
//根據(jù)手勢(shì)對(duì)象獲取手勢(shì)所在的視圖對(duì)象
let aview = sender.view
aview?.backgroundColor = self.backRandomColor()
}
func backRandomColor() -> UIColor {
let redValue = Float(arc4random_uniform(256)) / 255.0
let greenValue = Float(arc4random_uniform(256)) / 255.0
let blueValue = Float(arc4random_uniform(256)) / 255.0
//產(chǎn)生隨機(jī)顏色
let color = UIColor(red: CGFloat(redValue), green: CGFloat(greenValue), blue: CGFloat(blueValue), alpha: 1.0)
return color
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}