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 中手势的使用的更多相关文章
-
27.怎样在Swift中声明typedef?
在OC中,我们经常会用typedef关键字来声明Block,例如: /** * 通用的空闭包类型,无参数,无返回值 */ typedef void (^GofVoidBlock)(void); 在Sw ...
-
swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明
关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...
-
阿里巴巴最新开源项目 - [HandyJSON] 在Swift中优雅地处理JSON
项目名称:HandyJSON 项目地址:https://github.com/alibaba/handyjson 背景 JSON是移动端开发常用的应用层数据交换协议.最常见的场景便是,客户端向服务端发 ...
-
Swift中的可选链与内存管理(干货系列)
干货之前:补充一下可选链(optional chain) class A { var p: B? } class B { var p: C? } class C { func cm() -> S ...
-
在Swift中实现单例方法
在写Swift的单例方法之前可以温习一下Objective-C中单例的写法: + (instancetype)sharedSingleton{ static id instance; static d ...
-
[翻译]理解Swift中的Optional
原文出处:Understanding Optionals in Swift 苹果新的Swift编程语言带来了一些新的技巧,能使软件开发比以往更方便.更安全.然而,一个很有力的特性Optional,在你 ...
-
窥探Swift之使用Web浏览器编译Swift代码以及Swift中的泛型
有的小伙伴会问:博主,没有Mac怎么学Swift语言呢,我想学Swift,但前提得买个Mac.非也,非也.如果你想了解或者初步学习Swift语言的话,你可以登录这个网站:http://swiftstu ...
-
swift 中指针的使用UnsafeMutablePointer
在swift中已经弱化了指针的使用,可以这么使用 let s: NSRange = NSMakeRange(, ) let at = UnsafeMutablePointer<NSRange&g ...
-
swift 中数据类型那个的转换
在swift中关于数据类型的转换,如果参数是可选类型? 那么打印或者转换的结果 会带有Optional 字样,,
随机推荐
-
【转】RHadoop实践系列之二:RHadoop安装与使用
RHadoop实践系列之二:RHadoop安装与使用 RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析.Hadoop主要用来存储海量数据,R语言完成MapReduce 算法, ...
-
Directx3D SimpleSample Sample
在d3d 2010 june这个版本里的samples 不知道为什么SimpleSample Sample 这个 它的documents基本等于没有 Starting point for new Di ...
-
初识:java虚拟机的内存划分
什么是内存? 内存是计算机中的重要原件,临时存储区域,作用是运行程序.我们编写的程序是存放在硬盘中的,在硬盘中的程序是不会运行的,必须放进内存中才能运行,运行完毕后会清空内存.Java虚拟机要运行程序 ...
-
js常用随手记
1. 判断是否是空对象 let myObject={} Object.keys(myObject).length 2. void 0 代替 undefined undefined 不是保留字,在局部作 ...
-
Spark 官方博文专区(目录)
关于转载一些 Spark 官方的文档以及 DataBricks 公司博文,本系列基本是中英双语,主要是为了提高自己的英语水平. 文章分类 spark databricks A Tale of Thre ...
-
db2 查询表前几行
不需要那么多不需要那么多数据的时候使用fetch first xxx rows only数据的时候使用fetch first xxx rows only
-
Python3 tkinter基础 Entry validatecommand 获取输入框的值
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
-
Alpha冲刺报告(7/12)(麻瓜制造者)
今日已完成 邓弘立: 对主页UI进行了改进 符天愉: 打算开始写留言部分并且想要实现无限回复 搜索了下网上的实现方法,总结了两种方法,一种使用递归,一种使用嵌套集合.发现嵌套集合的方法很机智,,但是感 ...
-
sprint2 (第八天)
今天课多,没做什么功能.这个sprint定的目标比较高,要实现的功能较多,可能完成不了目标值.因为GitHub下载和上传很慢,经常失败,所以这几天都没有更新GitHub,功能明天早点实现然后上传到Gi ...
-
Z字形编排问题详解(C++)
Z字形编排问题详解(C++): 问题描述:给定一个矩阵matrix,输出矩阵matrix进行Z字形编排后的内容. 原矩阵: 输出形式: 算法分析与详细解答: 要解决这样一个问题,可能一开始无从下手,但 ...