zoukankan      html  css  js  c++  java
  • 触摸事件和微信实现原理

    触摸事件练习
    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> 选中表格行,查看用户详细信息,决定是不是需要进一步的交流

  • 相关阅读:
    eclipse中文乱码问题解决方案
    修改Tomcat的JDK目录
    Tomcat 5.5 修改服务器的侦听端口
    HTML DOM教程 27HTML DOM Button 对象
    HTML DOM教程 24HTML DOM Frameset 对象
    Navicat for MySQL v8.0.27 的注册码
    HTML DOM教程 25HTML DOM IFrame 对象
    Tomcat 5.5 的下载和安装
    android manifest相关属性
    ubuntu10.04 下 eclipse 小结
  • 原文地址:https://www.cnblogs.com/yinqiang/p/3485439.html
Copyright © 2011-2022 走看看