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中不是任何对象都能处理事件,只有继承了 ...
随机推荐
- R语言编程
R中的帮助文档非常有用,其中有四种类型的帮助 help(functionname) 对已经加载包所含的函数显示其帮助文档,用?号也是一样的. help.search('keyword') 对已经安装的 ...
- WCF标准绑定以及传输协议与编码格式
WCF 定义了9 种标准绑定: 基本绑定(Basic Binding) 由BasicHttpBinding类提供.基本绑定能够将WCF服务公开为旧的ASMX Web服务,使得旧的客户端能够与新的服务协 ...
- vim多行注释和取消注释 Ubuntu
多行注释: 1. 进入命令行模式,按ctrl + v进入 visual block模式,然后按d 是选择到最后一行,也可以直接光标上下左右,把需要注释的行标记起来 2. 按大写字母I,再插入注释符,例 ...
- Es+kafka搭建日志存储查询系统(设计)
现在使用的比较常用的日志分析系统有Splunk和Elk,Splunk功能齐全,处理能力强,但是是商用项目,而且收费高.Elk则是Splunk项目的一个开源实现,Elk是ElasticSearch(Es ...
- cocos2dx 3.x 拼图小游戏
.h #define IMAGE_MAX 2 //图片的个数.. //图片结构体 属性 struct IMAGE_DATA { cocos2d::Sprite *m_pImage; bool m_bO ...
- java switch参数类型
switch: switch语句是根据选择因子实现多路选择(也就是说从一系列执行路径中挑选一个)的一种干净利落的方法. 1.java5之前: switch只能使用能自动转化为int类型的参数:byte ...
- ABP官方文档翻译 0.0 ABP官方文档翻译目录
一直想学习ABP,但囿于工作比较忙,没有合适的契机,当然最重要的还是自己懒.不知不觉从毕业到参加工作七年了,没留下点儿什么,总感觉很遗憾,所以今天终于卯足劲鼓起勇气开始写博客.有些事能做的很好,但要跟 ...
- ubuntu16.04更新源的时候显示:由于没有公钥,无法验证下列签名: NO_PUBKEY 3D5919B448457EE0【学习笔记】
平台:ubuntu16.04 作者:庄泽彬(欢迎转载,请注明作者) 在添加了bazel的源之后执行sudo apt-get update出现下面的错误 echo "deb [arch=amd ...
- github上fork别人的代码之后,如何保持和原作者同步的更新
1.从自己fork之后的版本库clone $ git clone -o chucklu https://github.com/chucklu/Hearthstone-Deck-Tracker.git ...
- JAVA基础之复识一
JAVA不单是一门计算机编程语言,而且还是一种基于WEB的全方位软件开发技术, java特定运行平台及关键特点 java开发工具包的安装,配置与应用 java语言的基本概念 java面向对象编程 ja ...