24.手势识别之UIPanGestureRecognizer
来源:互联网 发布:寂寞有多长 知乎 编辑:程序博客网 时间:2024/06/07 23:10
UIPanGestureRecognizer
它是拖动手势, 使用和前面的手势类似, 下面我们学习如何使用它
1. UIPanGestureRecognizer的创建
我们实现一个图片随着手指的移动而移动:
import UIKitclass 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. 完整代码
同第一部分
1 0
- 24.手势识别之UIPanGestureRecognizer
- 手势识别器(UIGestureRecognizer)- UIPanGestureRecognizer(拖拽)
- iOS中手势之拖动手势UIPanGestureRecognizer
- ios-day17-08(手势识别器之“拖拽”,使用UIPanGestureRecognizer实现侧滑菜单)
- 滑动的手势 UIPanGestureRecognizer 识别向左还是向右
- android之手势识别
- android之手势识别
- android之手势识别
- IOS之手势识别
- Android之手势识别
- ios之手势识别
- Android 之手势识别
- Android之手势识别
- tabview 增加手势判断UIPanGestureRecognizer
- UIPanGestureRecognizer手势的互相传递
- 【iOS】UIPanGestureRecognizer拖拽手势
- Android开发之手势识别
- Android--手势识别之GestrueDetector
- Linux编程#include <sys/types.h>等一些头文件在哪里
- C# 判断是否为回文
- ACE编译(windows下)
- JAVA语言基础
- C#
- 24.手势识别之UIPanGestureRecognizer
- webView用法总结
- Android 开发中eclipse 下 DDMS 视图中 sdcard 中文件导入的处理
- C#2
- Android背景Selector无效
- 8.结构体和共用体及枚举
- 通过Ajax动态生成的页面,解决复选框,选择一次不能再选择的问题
- QQ通信协议
- leetcode 98. Validate Binary Search Tree