swift 中手势的使用

/**点击手势*/

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. 27.怎样在Swift中声明typedef?

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

  2. swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明

    关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...

  3. 阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON

    项目名称:HandyJSON 项目地址:https://github.com/alibaba/handyjson 背景 JSON是移动端开发常用的应用层数据交换协议.最常见的场景便是,客户端向服务端发 ...

  4. Swift中的可选链与内存管理(干货系列)

    干货之前:补充一下可选链(optional chain) class A { var p: B? } class B { var p: C? } class C { func cm() -> S ...

  5. 在Swift中实现单例方法

    在写Swift的单例方法之前可以温习一下Objective-C中单例的写法: + (instancetype)sharedSingleton{ static id instance; static d ...

  6. [翻译]理解Swift中的Optional

    原文出处:Understanding Optionals in Swift 苹果新的Swift编程语言带来了一些新的技巧,能使软件开发比以往更方便.更安全.然而,一个很有力的特性Optional,在你 ...

  7. 窥探Swift之使用Web浏览器编译Swift代码以及Swift中的泛型

    有的小伙伴会问:博主,没有Mac怎么学Swift语言呢,我想学Swift,但前提得买个Mac.非也,非也.如果你想了解或者初步学习Swift语言的话,你可以登录这个网站:http://swiftstu ...

  8. swift 中指针的使用UnsafeMutablePointer

    在swift中已经弱化了指针的使用,可以这么使用 let s: NSRange = NSMakeRange(, ) let at = UnsafeMutablePointer<NSRange&g ...

  9. swift 中数据类型那个的转换

    在swift中关于数据类型的转换,如果参数是可选类型? 那么打印或者转换的结果 会带有Optional 字样,,

随机推荐

  1. SQL Server存储(6/8) :理解DCM页

    我们已经讨论了各种不同的页,包括数据页.GAM与SGAM页.PFS页,还有IAM页.今天我们来看下差异变更页(Differential Change Map:DCM ),还有差异备份(differen ...

  2. IOS开发技巧快速生成二维码

    随着移动互联网的发展,二维码应用非常普遍,各大商场,饭店,水果店 基本都有二维码的身影,那么ios中怎么生成二维码呢? 下面的的程序演示了快速生成二维码的方法: 在ios里面要生成二维码,需要借助一个 ...

  3. ASP.NET MVC使用SSI来实现页面静态化

    页面静态化分为两种:伪静态和真静态,这里主要介绍的是真静态. 进入正题之前先简单介绍一下SSI和shtml: 1).SSI是Server Side Include的简称(服务器端嵌入) 2).shtm ...

  4. 基于MVC4+EasyUI的Web开发框架经验总结(2)- 使用EasyUI的树控件构建Web界面

    最近花了不少时间在重构和进一步提炼我的Web开发框架上,力求在用户体验和界面设计方面,和Winform开发框架保持一致,而在Web上,我主要采用EasyUI的前端界面处理技术,走MVC的技术路线,在重 ...

  5. 自己对Debug的一些感悟

    A.13-03-06记. 1.当项目中发现bug的时候,首先考虑如何重现,能够重现的bug比较好找寻根源. 2.思考下以前是否发现过类似bug,是否由一些外部配置所决定. 3.有循环时候注意临界条件.

  6. Ajax学习笔记1之第一个Ajax应用程序

    代码 <head> <title>An Ajax demo</title> <script src="../js/jquery-1.4.1.js&q ...

  7. android释放内存的一个办法

    step 1:定义一个监听接口 public static interface OnLowMemoryListener { void onLowMemoryReceived(); } /* 何问起 h ...

  8. jQuery 3.0正式发布

    jQuery 基金会刚刚发布了该 JavaScript 框架的 3.0 版本,并且首次抛弃了对老旧的 IE 浏览器的支持.jQuery 3.0 的工作始于 2014 年 10 月,其最初目标是在 2. ...

  9. MySQL Workbench 修改快捷键

    在安装根目录查到\data\main_menu.xml这个文件 例如,修改执行sql语句的快捷键为F5 <value type="object" struct-name=&q ...

  10. eclipse新建maven项目(2)

    本篇博文是继续之前的博文eclipse新建maven项目(1),那篇博文不在随笔在文章中.首先按照之前那篇博文进行创建maven项目操作,一系列操作下来之后发现刷新项目后会报错: 别急哈,可以解决. ...