触摸事件和微信实现原理
2014-04-21 15:02
375 查看
触摸事件练习
1.如果想让一个空间随你的手指的移动而移动,那么就再touchmove的方法中。
UITouch *touch = [touches anyObject];
CGPoint asd = [touch locationInView:self.view];
self.redView.center = asd;
2.拦截视图点击方法---->返回谁,就是点了谁
//用于检测具体响应用户触摸点视图的方法
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
return self.blue;
}
3.摇一摇
1>成为第一响应者
- (BOOL)canBecomeFirstResponder
{
return YES;
}
2>在视图出现时,让视图控制器成为第一响应者
- (void)viewDidAppear:(BOOL)animated
{
[self becomeFirstResponder];
}
3>在视图消失时,让视图控制器注销第一响应者的身份
- (void)viewDidDisappear:(BOOL)animated
{
[self canBecomeFirstResponder];
}
4>监听摇晃事件
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake) {
NSLog(@"摇晃了,");
}
}
4.关于微信的摇一摇实现思路:
分析微信的功能的实现:
1> 进入界面,貌似什么也没有发生;
2> 摇一摇,咔嚓一声,出现转轮,貌似在干些什么
3> 转轮消失,得到用户信息(网名,男女,距离你的距离)
实现过程:
1> 进入界面,利用CoreLocation(MapKit会具体讲解)定位用户当前的位置;
2> 用户摇 -> 将用户的经纬度,用户账号,摇晃的时间,发送到微信的服务器;
3> 后台处理(1),计算当前时间一定范围内,很难保证同一时间摇晃手机,可以有一个时间的误差,譬如10s
摇晃手机的用户(有可能1个~10000个)
4> 后台处理(2),如果用户过多,计算前10名~20名距离用户最近的摇晃用户的信息,产生列表,并发送给用户手机
5> 用户接到数据后,使用UITableView展现数据
6> 选中表格行,查看用户详细信息,决定是不是需要进一步的交流
1.如果想让一个空间随你的手指的移动而移动,那么就再touchmove的方法中。
UITouch *touch = [touches anyObject];
CGPoint asd = [touch locationInView:self.view];
self.redView.center = asd;
2.拦截视图点击方法---->返回谁,就是点了谁
//用于检测具体响应用户触摸点视图的方法
- (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event
{
return self.blue;
}
3.摇一摇
1>成为第一响应者
- (BOOL)canBecomeFirstResponder
{
return YES;
}
2>在视图出现时,让视图控制器成为第一响应者
- (void)viewDidAppear:(BOOL)animated
{
[self becomeFirstResponder];
}
3>在视图消失时,让视图控制器注销第一响应者的身份
- (void)viewDidDisappear:(BOOL)animated
{
[self canBecomeFirstResponder];
}
4>监听摇晃事件
- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
if (motion == UIEventSubtypeMotionShake) {
NSLog(@"摇晃了,");
}
}
4.关于微信的摇一摇实现思路:
分析微信的功能的实现:
1> 进入界面,貌似什么也没有发生;
2> 摇一摇,咔嚓一声,出现转轮,貌似在干些什么
3> 转轮消失,得到用户信息(网名,男女,距离你的距离)
实现过程:
1> 进入界面,利用CoreLocation(MapKit会具体讲解)定位用户当前的位置;
2> 用户摇 -> 将用户的经纬度,用户账号,摇晃的时间,发送到微信的服务器;
3> 后台处理(1),计算当前时间一定范围内,很难保证同一时间摇晃手机,可以有一个时间的误差,譬如10s
摇晃手机的用户(有可能1个~10000个)
4> 后台处理(2),如果用户过多,计算前10名~20名距离用户最近的摇晃用户的信息,产生列表,并发送给用户手机
5> 用户接到数据后,使用UITableView展现数据
6> 选中表格行,查看用户详细信息,决定是不是需要进一步的交流
相关文章推荐
- 微信功能版(可用于电脑、安卓手机端)微信电脑版 使用说明
- cocos2d-x-触屏(Touch)事件详解
- 触摸事件
- 【cocos2d-x入门实战】微信飞机大战之七:触摸事件和优先级
- Android TTS 实战五:摇一摇输入
- Android - 智能 wifi 插座控制开关
- Android 摇一摇功能的实现
- Android 类似微信——摇一摇 的实现
- Android onTouch事件传递机制
- Touch实现触摸事件的妙用
- cocos2d-x学习笔记之touch分发器1
- Cocos2d-x--非布景层类和非布景层类的子类使用触摸
- 为View添加触摸事件 添加tag 用于判断View
- cocos2d-x 详解之 CCLayer(触摸事件)
- IOS端的摇一摇功能
- ios摇一摇的实现
- Cocos2d-x 自定义可接收处理触摸消息精灵类
- Cocos2d-x 触摸事件层级关系
- iOS 触摸事件之双指先后触摸问题的解决
- 利用HTML5的一个重要特性 —— DeviceOrientation来实现手机网站上的摇一摇功能