您的位置:首页 > 移动开发 > 微信开发

触摸事件和微信实现原理

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> 选中表格行,查看用户详细信息,决定是不是需要进一步的交流
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息