• 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__);
    }
    

      

  • 相关阅读:
    Buffer Lock Mode and Compatibilities
    11g默认审计选项
    11.2.0.2 asmcmd lsdg show incorrect diskgroup number
    关于V$OPEN_CURSOR
    了解你所不知道的SMON功能(七):清理IND$字典基表
    PL/SQL DEPENDENCIES
    温习 Linux 命令
    温习 SQL 03
    PL/SQL 基础 ( 下 )
    HTML501 ( The.Essential.Guide )
  • 原文地址:https://www.cnblogs.com/sqdhy-zq/p/4764381.html
Copyright © 2020-2023  润新知