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. js基础-表单验证和提交

    基础知识: 原始提交如下: <form action="/login" method="post" id="form1"> &l ...

  2. Java实时读取日志文件

    古怪的需求 在实习的公司碰到一个古怪的需求:在一台服务器上写日志文件,每当日志文件写到一定大小时,比如是1G,会将这个日志文件改名成另一个名字,并新建一个与原文件名相同的日志文件,再往这个新建的日志文 ...

  3. SQL Server代理(1/12):配置和概况

    SQL Server代理是所有实时数据库的核心.代理有很多不明显的用法,因此系统的知识,对于开发人员还是DBA都是有用的.这系列文章会通俗介绍它的很多用法. SQL Server代理是SQL Serv ...

  4. DNS解析全过程及原理

    DNS解析原理及过程. 当用户访问我们网站一个网页时,他需要经过以下步骤: 1)找到这个网页的存放服务器: 2)服务器将用户的请求信息接入: 3)服务器通过文件路径(URL)查找用户请求网页: 4)用 ...

  5. c#设计模式之简单工厂

    1.面向对象的3大属性,封装.继承.多态,以一个加单的计算机为例: 创建一个父类Operation 有两个属性 和一个计算方法(虚方法),便于子类重写: public class Operation ...

  6. Web Scraping with Python读书笔记及思考

    Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...

  7. SQL中 将同一个表中的A列更新到B列,B列更新到A列

    有网友在SKYPE问及,如标题,SQL中 将同一个表中的A列更新到B列,B列更新到A列. 其实这个不是问题,直接写更新语句即可,可以参考下面动画演示: SQL source code: CREATE ...

  8. 如何在Winform界面中设计图文并茂的界面

    在Winform里面,很多控件元素都是标准的,如图标.按钮.工具栏等等,所以一般设计标准的Winform界面比较快捷,但是往往这样的界面相对单调一些,特别在界面控件比较少的情况下,我们往往需要加入一些 ...

  9. C#的变迁史 - C# 4.0篇

    C# 4.0 (.NET 4.0, VS2010) 第四代C#借鉴了动态语言的特性,搞出了动态语言运行时,真的是全面向“高大上”靠齐啊. 1. DLR动态语言运行时 C#作为静态语言,它需要编译以后运 ...

  10. WCF在编译出现 “错误 3 命令“时解决

    如果你遇到了下面问题解决方案很简单,以管理员身份运行VS就OK了. 错误 3 命令“ mkdir %SystemDrive%\inetpub\wwwroot\servicemodelsamples m ...