24.手势识别之UIPanGestureRecognizer
2016-03-11 17:27
453 查看
UIPanGestureRecognizer
它是拖动手势, 使用和前面的手势类似, 下面我们学习如何使用它1. UIPanGestureRecognizer的创建
我们实现一个图片随着手指的移动而移动:import UIKit class ViewController: UIViewController { var imageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() self.imageView = UIImageView(image: UIImage(named: "beautiful")) self.imageView.center = self.view.center self.view.addSubview(imageView) let panGestureRecognizer = UIPanGestureRecognizer(target: self, action: "panAction:") self.view.addGestureRecognizer(panGestureRecognizer) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func panAction(panGestureRecognizer: UIPanGestureRecognizer) { // 获取触摸点在当前view中的位置 let pos = panGestureRecognizer.locationInView(self.view) self.imageView.center = pos } }
运行程序:
2. UIPanGestureRecognizer详解
我们查看它的定义:@available(iOS 3.2, *) public class UIPanGestureRecognizer : UIGestureRecognizer { // 最少触摸手指数, 默认是1 public var minimumNumberOfTouches: Int // 最多触摸手指数, 默认是UINT_MAX public var maximumNumberOfTouches: Int // 获取屏幕坐标系转为指定view的自身坐标系后的坐标 public func translationInView(view: UIView?) -> CGPoint public func setTranslation(translation: CGPoint, inView view: UIView?) // 在指定的view中坐标系统中的拖动速度 public func velocityInView(view: UIView?) -> CGPoint }
下面的这个方法
public func locationInView(view: UIView?) -> CGPoint
是定义在UIPanGestureRecognizer的父类UIGestureRecognizer中
3. 完整代码
同第一部分相关文章推荐
- Apple Swift学习教程
- 介绍 Fedora 上的 Swift
- android使用gesturedetector手势识别示例分享
- iOS开发之路--微博“更多”页面
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- iOS开发之路--微博骨架搭建
- iOS开发使用JSON解析网络数据
- IOS开发代码分享之获取启动画面图片的string
- iOS开发使用XML解析网络数据
- 探讨Swift数组和字典
- Swift中的指针操作和使用详细介绍
- Swift中使用正则表达式的一些方法