• 创建一个可移动的视图,让视图随着鼠标的移动而移动


    1.首先自己定义视图,继承自UIView

    MoveView.h

    @interface MoveView :UIView

    @property(nonatomic,assign)CGPoint beginPoint;

    //记录点击的最初位置

    @end



    MoveView.m

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

    {

        UITouch *touch=[touches anyObject];

        //记录下触摸的最初位置。相对于自身

        _beginPoint=[touch locationInView:self];


    }


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

    {

        UITouch *touch=[touches anyObject];

    //记录移动到的位置,此时此时相对于父视图

        CGPoint endPoint=[touch locationInView:self.superview];

        [self setFrame:CGRectMake(endPoint.x-_beginPoint.x

                                  , endPoint.y-_beginPoint.y,self.frame.size.width,self.frame.size.height)];

    }

    2.查UIView的Api可知,UIView继承自UIResponder,在UIResponder中有以下四个方法

    - (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;//触摸取消(主要用于突发事件,此次触摸失效,比如来电话了,电话界面弹出。用户此次触摸被取消)

    能够依据这几个方法对一些触摸事件进行处理。


  • 相关阅读:
    【NOIP 2003】 加分二叉树
    【POJ 1655】 Balancing Act
    【HDU 3613】Best Reward
    【POJ 3461】 Oulipo
    【POJ 2752】 Seek the Name, Seek the Fame
    【POJ 1961】 Period
    【POJ 2406】 Power Strings
    BZOJ3028 食物(生成函数)
    BZOJ5372 PKUSC2018神仙的游戏(NTT)
    BZOJ4836 二元运算(分治FFT)
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5175394.html
Copyright © 2020-2023  润新知