IOS学习之——UITouch 控件的学习

//***************************** UITouch 属性 ******************************** //

    触摸产生时所处的窗口
    @property(nonatomic,readonly,retain) UIWindow    *window;

    触摸产生时所处的视图
    @property(nonatomic,readonly,retain) UIView      *view;

    短时间内点按屏幕的次数,可以根据tapCount判断单击、双击或更多的点击
    @property(nonatomic,readonly) NSUInteger          tapCount;

    记录了触摸事件产生或变化时的时间,单位是秒
    @property(nonatomic,readonly) NSTimeInterval      timestamp;

    当前触摸事件所处的状态
    @property(nonatomic,readonly) UITouchPhase        phase;

//***************************** UITouch 方法 ******************************** //

■   - (CGPoint)locationInView:(UIView *)view;  //当前触摸的位置
➢   返回值表示触摸在view上的位置
➢   这里返回的位置是针对view的坐标系的(以view的左上角为原点(0, 0))
➢   调用时传入的view参数为nil的话,返回的是触摸点在UIWindow的位置
➢   
•   - (CGPoint)previousLocationInView:(UIView *)view; // 移动的时候是从之前的那个点 移动到下一个点
➢   该方法记录了前一个触摸点的位置            

//***************************** UITouch 例子 ******************************** //

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

return;
NSLog(@"%s",__func__);
// 获取当前触摸点的UITouch对象
UITouch *touch = [touches anyObject];
// 触摸点 所在的view
NSLog(@"%@",touch.view);

// tapCount 点击的次数
NSLog(@"%ld",touch.tapCount);

// 获取当前 触摸的位置

warning 传一个nil 获取的触摸点的位置是在windows上去

CGPoint touchPosition = [touch locationInView:touch.view];
NSLog(@"%@",NSStringFromCGPoint(touchPosition));

}

-(void)touchesMoved:(NSSet )touches withEvent:(UIEvent )event{
//NSLog(@”%s”,func);
// 获取当前触摸点的UITouch对象
UITouch *touch = [touches anyObject];

//获取 当前触摸的位置
CGPoint current = [touch locationInView:touch.view];

//获取 触摸前的位置
CGPoint previous = [touch previousLocationInView:touch.view];

NSLog(@"触摸前的点: %@ 当前触摸点:%@",NSStringFromCGPoint(previous),    NSStringFromCGPoint(current));
 //**********        可以拖动的按钮   悬浮的按钮   能应用到游戏中     
// 改变位置
CGPoint center = self.center;
center.x += current.x - previous.x;
center.y += current.y - previous.y;

self.center = center;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值