/**点击手势*/
func tapGestureDemo() { //建立手势识别器 let gesture = UITapGestureRecognizer(target: self, action: "viewTap:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } /**缩放手势*/ func pinchGestureDemo() { //建立手势识别器 let gesture = UIPinchGestureRecognizer(target: self, action: "viewPinch:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } /**旋转手势*/ func rotationGestureDemo() { //建立手势识别器 let gesture = UIRotationGestureRecognizer(target: self, action: "viewRotation:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } /**滑动手势*/ func swipeGestureDemo() { //建立手势识别器 let gesture = UISwipeGestureRecognizer(target: self, action: "viewSwipe:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } /**平移手势*/ func panGestureDemo() { //建立手势识别器 let gesture = UIPanGestureRecognizer(target: self, action: "viewPan:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } /**长按手势*/ func LongPressGestureDemo() { //建立手势识别器 let gesture = UILongPressGestureRecognizer(target: self, action: "viewLongPress:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } /**自定义手势*/ func custonGestureDemo() { //建立手势识别器 let gesture = CustomGestureRecognizer(target: self, action: "viewCustom:") //附加识别器到视图 self.view1.addGestureRecognizer(gesture) } //-----------------------手势action事件--------------------------- /**点击事件*/ @IBAction func viewTap(sender: UITapGestureRecognizer) { print("clicked...") } /**缩放事件*/ func viewPinch(sender: UIPinchGestureRecognizer) { print("pinch...") let _width = view1.bounds.width let _height = view1.bounds.height view1.bounds.size = CGSize(width: _width * sender.scale, height: _height * sender.scale) } /**旋转事件*/ func viewRotation(sender: UIRotationGestureRecognizer) { view1.transform = CGAffineTransformMakeRotation(sender.rotation) } /**滑动事件*/ var offsetX: CGFloat = 0 func viewSwipe(sender: UISwipeGestureRecognizer) { if sender.direction == UISwipeGestureRecognizerDirection.Right { //每次向右平移20 offsetX += 20 view1.transform = CGAffineTransformMakeTranslation(offsetX, 0) } } /**平移事件*/ func viewPan(sender: UIPanGestureRecognizer) { let _transX = sender.translationInView(view1).x let _transY = sender.translationInView(view1).y view1.transform = CGAffineTransformMakeTranslation(_transX, _transY) } /**长按事件*/ func viewLongPress(sender: UILongPressGestureRecognizer) { print("long pressed....") } func viewCustom(sender: CustomGestureRecognizer) { print("custom gesture...") }

swift 中手势的使用相关推荐

  1. swift设置启动图不现实_如何通过装饰房屋来开始在Swift中使用增强现实

    swift设置启动图不现实 by Ranadhir Dey 由Ranadhir Dey 如何通过装饰房屋来开始在Swift中使用增强现实 (How to get started with augmen ...

  2. 27.怎样在Swift中声明typedef?

    在OC中,我们经常会用typedef关键字来声明Block,例如: /*** 通用的空闭包类型,无参数,无返回值*/ typedef void (^GofVoidBlock)(void); 在Swif ...

  3. swift 引用其他类_浅谈swift中闭包修饰符 weak?unowned? 或什么都不用

    浅谈swift中闭包修饰符 weak?unowned? 或什么都不用 平常的开发中,clourse是我们iOSr绕不过去的坎儿. 苹果本身也很重视闭包,像之前的一些老的target-action类型的 ...

  4. 解决Swift中present(uiImagePickerController,animated: true,completion: nil)闪退的问题

    swift中开发选择图片上传,会使用到Tap Gesture Recognizer控件,对应 UITapGestureRecognizer API,以下是代码示例(取自IOS developer li ...

  5. Swift 中使用 SQLite——批量更新(事务处理)

    本文是Swift 中使用 SQLite系列的收官之作,介绍一下在数据库中的批量更新. 事务 在准备做大规模数据操作前,首先开启一个事务,保存操作前的数据库的状态 开始数据操作 如果数据操作成功,提交事 ...

  6. Swift 中使用 SQLite——打开数据库

    关于Swift中使用SQLite,接下来可能会分别从打开.增.删.改.查,几个方面来介绍SQLite的具体使用,这一篇重点介绍一下如何打开. 定义全局数据库访问句柄 /// 全局数据库访问句柄 pri ...

  7. 探索 Swift 中的 MVC-N 模式

    作者:Marcus Zarra(twitter:@mzarra) Marcus 将会为大家介绍一种设计模式,他曾经在那些需要从互联网进行大量频繁数据请求的 iOS 应用当中使用此设计模式.这个设计采用 ...

  8. Swift 中的内存管理详解

    这篇文章是在阅读<The Swift Programming Language>Automatic Reference Counting(ARC,自动引用计数)一章时做的一些笔记,同时参考 ...

  9. 怎样在swift中创建CocoaPods

    本文由yake_099(博客)翻译自raywenderlich,作者:Joshua Greene 原文:How to Create CocoaPods with Swift 你可能对一些比较著名的开源 ...

最新文章

  1. 高中毕业就想转行当 Coder,程序员的学历真的不重要么?
  2. 为解决Thymeleaf数字格式化问题而想到的几种方案
  3. 华为北大等联手打造的Transformer竟在CV领域超过了CNN:多项底层视觉任务达到SOTA...
  4. QT中事件发送函数sendEvent()、postEvent()详解
  5. 透过NpetShop 看Web项目开发中的分工合作
  6. aws linux 安装图形,linux – 用于安装AWS CLI工具的Bash脚本
  7. Spring框架零基础学习(一):IOC|DI、AOP
  8. Tensorflow官方文档学习理解 (三)-MNIST
  9. USB总线-Linux内核USB3.0设备控制器驱动框架分析(四)
  10. g5500服务器装系统,联想G50笔记本U盘重装win10系统教程
  11. wgs84 转百度地图坐标
  12. 具有三个元素的集合X共有29个拓扑
  13. QCC514x-QCC304x(headset)系列(入门篇)之1.1-QCC3044之基本介绍
  14. 2021年西式面点师(高级)免费试题及西式面点师(高级)模拟考试题库
  15. Chrome Extension 小试牛刀
  16. [29期] 一个乞丐的故事,什么叫职业人?
  17. 英汉小字典java_java 学习案例之英汉字典
  18. 规范自己的JavaScript书写 – Dojo Javascript 编程规范
  19. OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用。
  20. 【EI快速高录用】这可能是近2年发表SCI论文的最好机会!

热门文章

  1. 大数据导出excel大小限制_大数据量导出Excel的方案
  2. android版本怎么升级9.0,为什么安卓系统都升级到9.0了,而国内大部分都是Android7呢?...
  3. 论文《An Effective Consistency Constraint for Sequential Recommendation》
  4. Neo4j -CQL的基本使用(新手快速入门)
  5. ★ 数据仓库设计的21条原则
  6. VCC、 VDD、VEE、VSS区别
  7. 斯坦福ChatGPT: Prompting, Instruction Finetuning, and RLHF
  8. 电弧闪光保护系统的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  9. python去除数据列中的英文
  10. PR/AE等应用程序无法正常启动0xc000007b/0xc0000005,应如何解决?