检测清扫
来源:互联网 发布:树熊网络大庆 编辑:程序博客网 时间:2024/04/30 09:51
当用户触摸屏幕的时候,我们将第一次触摸的位置保存在变量中,当用户的手指移动着通过屏幕时,我们将会检查,看它是否到达某个点,这个点足够远且足够直,以便能够算作清扫
新建一个single view application
#import <UIKit/UIKit.h>
@interface>UIViewController
@property (retain,nonatomic) IBOutletUILabel *label;
//声明一个容纳用户触摸的第一个点的变量
@propertyCGPoint gestureStartPoint;
@end
#import "liViewController.h"
//最小手势长度定义为25
#define kMinimumGestureLength 25
//偏差定义为5
#define kMaximumVariance 5
@interface liViewController ()
@end
@implementation liViewController
@synthesize label;
@synthesize gestureStartPoint;
- (void)viewDidLoad
{
[superviewDidLoad];
self.view.backgroundColor = [UIColorwhiteColor];
self.label.text =nil;
}
//几秒后用这个函数擦掉文本内容
- (void)eraseText
{
label.text =@"";
}
#pragma mark ---
//从touches集中获得并存储点
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
gestureStartPoint = [touch locationInView:self.view];
}
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
//获取用户手指的当前位置
UITouch *touch = [touches anyObject];
CGPoint currentPosition = [touch locationInView:self.view];
//计算用户从起始位置起在水平方向和垂直方向上移动的距离
CGFloat deltaX = fabsf(gestureStartPoint.x - currentPosition.x);
CGFloat deltaY = fabsf(gestureStartPoint.y - currentPosition.y);
if (deltaX >=kMinimumGestureLength && deltaY <= kMaximumVariance)
{
label.text =@"Horizontal swip detected";
[selfperformSelector:@selector(eraseText)withObject:nilafterDelay:2];
}elseif(deltaY >=kMaximumVariance && deltaX <= kMinimumGestureLength)
{
label.text =@"Vertical swipe detected";
[selfperformSelector:@selector(eraseText)withObject:nilafterDelay:2];
}
}
- (void)didReceiveMemoryWarning
{
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)dealloc {
[labelrelease];
[superdealloc];
}
@end
- 检测清扫
- 清扫心灵的扫把
- [最小生成树]清扫
- 南邮 OJ 1418 清扫
- 创建清扫手势
- 清扫java盲点
- 实现多个清扫动作
- ios-手势总结-清扫手势
- 说说清扫存量的必要性
- 用“头脑清扫法”完成GTD第一步
- 大热天的,给笔记本清扫一下吧!
- 最小生成树问题:njupt-1418:清扫
- iOS手势 清扫和长按
- 室内清扫机器人部分资料收集汇总
- 深入了解标记-清扫回收算法
- 扫地机器人的清扫路径规划
- 乌鸦嘴?五月清扫期,Drive已撤出Schedule
- 架构的落地生根与项目的路障清扫
- 关于判断Socket断开的问题
- Effective C++
- iOS学习笔记——表视图二(编辑)
- 如何使用strace+pstack利器分析程序性能
- 求问:mypython的小例子AttributeError: 'SimpleEditor' object has no attribute 'OnMouseDown'
- 检测清扫
- CSS居中经验谈-用法实例详解
- C++ const引用详解
- 指定日期往后加一月
- 第二天
- ccpNormalize分析
- Android 文件下载大小和网络不一致(偏大)
- 极速理解设计模式系列:5.单例模式(Singleton Pattern)
- vim使用技巧