• TouchView


      UIEvent:事件类。在IOS中将用户的操作封装了一个类是UIEventUIEvent根据用户的操作分为三种类型:触摸、晃动、远程控制。

      触摸对应的UI类是UITouch。

    #import "RootViewController.h"
    #import "TouchView.h"
    
    @interface RootViewController ()
    
    @end
    
    @implementation RootViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
      
        TouchView *touchView = [[TouchView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)]; // 创建对象
        touchView.backgroundColor = [UIColor redColor];
        [self.view addSubview:touchView];
        [touchView release];
    }
    

      

    #import "TouchView.h"
    
    @implementation TouchView
    
    // 触摸开始时执行该方法
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        // 打印执行代码的行数及执行的方法名,方便跟踪
        NSLog(@"%s == %d",__FUNCTION__, __LINE__);
    }
    
    // 触摸移动时执行该方法
    - (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
    {
    //    self.backgroundColor = [UIColor colorWithRed:(arc4random() % 256 / 255.0) green:(arc4random() % 256 / 255.0) blue:(arc4random() % 256 / 255.0) alpha:1];
        
        UITouch *touch = [touches anyObject]; // NSSet 取值方法
        CGPoint point1 = [touch locationInView:self.superview]; // 当前点
        CGPoint point2 = [touch previousLocationInView:self.superview]; // 前一个点
        CGFloat x = point1.x - point2.x; 
        CGFloat y = point1.y - point2.y;
        CGRect frame = self.frame;
        frame.origin.x += x;
        frame.origin.y += y;
        self.frame = frame;
     
        NSLog(@"%s == %d",__FUNCTION__, __LINE__);
    }
    
    // 触摸结束时执行该方法
    - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
    {
        NSLog(@"%s == %d",__FUNCTION__, __LINE__);
        // self.backgroundColor = [UIColor yellowColor];
    }
    
    // 触摸被中断时执行该方法
    - (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
    {
        NSLog(@"%s == %d",__FUNCTION__, __LINE__);
    }
    

      

  • 相关阅读:
    SciTE 快捷键
    MySQL数据库性能优化
    常用的正则表达式全面总结
    PHP中的Memcache的应用
    经典数学题:态度决定一切
    PHP Socket基础
    由浅入深探究mysql索引结构原理、性能分析与优化
    深入理解HTTP协议
    PHP会话控制之Session介绍原理
    PHP会话控制之Cookie使用例子
  • 原文地址:https://www.cnblogs.com/sqdhy-zq/p/4764381.html
Copyright © 2020-2023  润新知