zoukankan      html  css  js  c++  java
  • UITouch的用法

    UITouch一般无法直接获取,是通过UIView的touchesBegan等函数获得。

    //这四个方法是UIResponder中得方法

    // Generally, all responders which do custom touch handling should override all four of these methods.

    // Your responder will receive either touchesEnded:withEvent: or touchesCancelled:withEvent: for each

    // touch it is handling (those touches it received in touchesBegan:withEvent:).

    // *** You must handle cancelled touches to ensure correct behavior in your application.  Failure to

    // do so is very likely to lead to incorrect behavior or crashes.

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;

     

    前面写了几次提到UITouch,也提到了UITouch的三个代理方法

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;

    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;

    这里还有几个代理方法

    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event;//触摸取消事件

    - (void)remoteControlReceivedWithEvent:(UIEvent *)event;//注册接受触摸事件的Control

    下面写了一个简单的DEMO,触摸时,移动图片

    - (void)loadView {

    [super loadView];

    // Release any retained subviews of the main view.

    // e.g. self.myOutlet = nil;

    UIImageView *image = [[UIImageView alloc] initWithFrame:CGRectMake(20.0, 50.0, 45.0, 45.0)];

    image.image = [UIImage imageNamed:@"1.png"];

    image.tag = 100;

    [self.view addSubview:image];

    }

    -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

    {

    UITouch *touch = [touches anyObject];

    UIImageView *view1 = (UIImageView*)[self.view  viewWithTag:100];

    CGPoint point = [touch  locationInView:self.view];

    CGRect  frame = view1.frame;

    frame.origin = point;

    view1.frame = frame;

    }

    效果

    UITouch的用法UITouch的用法 

  • 相关阅读:
    JVM探究之 —— HotSpot虚拟机对象探秘
    JVM探究之 —— Java内存区域
    线程池不允许使用Executors去创建,而是通过ThreadPoolExecutor的方式
    dubbo线程模型配置
    hash bucket
    java 查看线程的信息
    List,Set,Map存取元素各有什么特点
    java 让图片变黑白
    springMVC 防重校验(拦截器)
    BigDecimal 的幂次方运算
  • 原文地址:https://www.cnblogs.com/worldtraveler/p/4597626.html
Copyright © 2011-2022 走看看