swift 触摸与手势

class MyView: UIView {
var lView:UIView!
var time:NSTimer!
override init(frame: CGRect) {
super.init(frame: frame)
//开启多点触控
self.multipleTouchEnabled = true
lView = UIView(frame: CGRect(x: 0, y: 0, width: 50, height: 50));
lView.backgroundColor = UIColor.yellowColor();
self.addSubview(lView)
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
//开始点击时,调用的方法
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
// println(count)
//拿到一个UITouch对象
// let touch:UITouch = touches.anyObject() as! UITouch;
let touch = touches.first as UITouch!
//拿到点击次数
let tapCount = touch.tapCount;
if (tapCount == 1)
{
// 单击 singleTap()
//使用定时器延时调用
time = NSTimer.scheduledTimerWithTimeInterval(0.5, target: self, selector:"singleTap", userInfo: nil, repeats: false)
}else
{
//终止定时器
time.invalidate()
doubleTap()
}
}
func singleTap() {
print("单击")
}
func doubleTap() {
print("双击")
}
//触摸移动时,调用的方法
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
// var touch = touches.anyObject() as! UITouch
let touch = touches.first as UITouch!
let location = touch.locationInView(self)
// println("location: \(location.x), \(location.y), \(location)")
let lastLocation = touch.previousLocationInView(self)
// println("lastLocation: \(lastLocation.x), \(lastLocation.y), \(lastLocation)")
let sub = location.x - lastLocation.x
if sub > 0{
print("right")
}else if sub < 0 {
print("left")
}else {
print("move")
}
//让小矩形跟着手势移动 lView.center = location
lView.frame.origin = location
}
}
swift 触摸与手势的更多相关文章
- IOS 手势-轻点、触摸、手势、事件
1.概念 手势是从你用一个或多个手指接触屏幕时开始,直到手指离开屏幕为止所发生的所有事件.无论手势持续多长时间,只要一个或多个手指仍在屏幕上,这个手势就存在. 触摸是指把手指放到IOS设备的屏幕上,从 ...
- JavaScript触摸与手势事件
JavaScript触摸与手势事件 发表于 2012-12-10 由 admin iOS版Safari为了向开发人员传达一些特殊信息,新增了一些专有事件.因为iOS设备既没有鼠标也没有键盘,所以在为移 ...
- js监听事件 上滑消失下滑出现的效果 触摸与手势事件
https://www.w3cmm.com/javascript/touch.html //触摸与手势事件连接tinyscrollbar //方法1var _this = $('#fabu');var ...
- Flex中处理多点触摸和手势
在Flex中多点触摸和手势都需要利用Multitiouch类来完成:1.supportsGestureEvents:判断是否支持手势2.supportsTouchEvents:判断是否支持多点触摸可以 ...
- Javascript高级编程学习笔记(69)—— 事件(13)触摸与手势事件
触摸与手势事件 由于移动设备既没有鼠标也没有键盘,所以在为移动浏览器开发交互性网页时,常规的鼠标键盘事件根本不够用 所以早期的苹果为Safari 添加了一些与触摸相关的事件 随着后面Android的W ...
- T470 Win10下触摸板手势
T470 Win10下触摸板手势 学习了:https://forum.51nb.com/thread-1742490-1-1.html 三指横向竟然是alt+tab 学习了:http://www.xi ...
- 小米和MAC触摸板手势汇总
小米的触摸手势: 左键:单指单击 右键:双指单击 选取并打开:单指双击 滚动页面:双指 移动 拖拽项目:双击并拖拽 放大/缩小:双指张开,双指捏合 MAC触摸板手势: http://www.cr173 ...
- 触摸与手势学习-swift
触摸是一个UITouch对象,该对象放在一个UIEvent中,每个UIEvent包含一个或多个UITouch对象,每个UITouch对象对应一个手指.系统将UIEvent发送到应用程序上,最后应用程序 ...
- iOS之触摸及手势
触摸事件 iOS中的事件: 在用户使用app过程中,会产生各种各样的事件.iOS中的事件可以分为3大类型: view的触摸事件处理: 响应者对象: 在iOS中不是任何对象都能处理事件,只有继承了 ...
随机推荐
- Excel error 64-bit version of SSIS
问题是 在windows server 2008 64位的计划任务执行 ssis 的错误 ,ssis你们带有读取excel 日期 2015/3/17 11:50:34日志 作业历史记录 (SSIS_U ...
- uva11732 Trie转化
有40001 个单词每个单词长度不超过1000,每个两个单词之间都要比较求要比较次数 int strcmp(char *s,char *t){ int i; for(i = 0; s[i]==t[i] ...
- centOS下升级python版本,详细步骤
1.可利用linux自带下载工具wget下载,如下所示:( 笔者安装的是最小centos系统,所以使用编译命令前,必须安装wget服务,读者如果安装的是界面centos系统,或者使用过编译工具则可跳 ...
- Refactoring #002 Inline Method
Example private ServerSocket createServerSocket(final int port) throws IOException { ServerSocket re ...
- poj3421 X-factor Chains(重复元素的全排列)
poj3421 X-factor Chains 题意:给定正整数$x(x<=2^{20})$,求$x$的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的子序列的个数. ...
- ZLYD团队第5周项目总结
ZLYD团队第5周项目总结 项目进展 目前游戏人没有成功运行.初步判断是部分代码有误. 我们采用了两种运行方式,代码未出现明确错误.但问题可能是由于版本问题. 将Wall.java.Gold.java ...
- Anchor、Dock
转:http://blog.sina.com.cn/s/blog_7f7cd96601013trt.html 在设计可供用户调整大小的窗体时,如何实现该窗体上的控件也应能正确地随窗体的改变而自动调整大 ...
- ArrayList扩容
jdk1.5 public ArrayList(int initialCapacity) { super(); if (initialCapacity < 0) throw new Illega ...
- [SpringBoot] - 了解什么是SpringBoot,使用SpringBoot的配置文件
首先明白Spring是什么,Spring是Java开发的一个框架,为了方便简化Java开发. 什么是注解(注解式开发)? Spring的常用注解有哪些? 假如用SpringBoot构建一个网站程序,应 ...
- zabbix中监控某个进程的shell脚本
#!/bin/sh ret_ok= ret_warn= ret_critical= ret_unknown= info_count=`ps -aux | awk 'BEGIN {cnt=0} /[^- ...