手势(3)view随手势移动

#import "QYCustomView.h"

/*
#define  HOR_SWIPE_MIN 20 //水平上,当低于这个值的时候, 不认为他是一个横扫的手势
#define  VAR_SWIPE_MAX 40 //在垂直上,设置这误差范围,如果大于这个值的话, 横扫无效
 */

@implementation QYCustomView

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];
    if (self) {
        self.backgroundColor = [UIColor purpleColor];
        _moveView = [[UIView alloc] initWithFrame:CGRectMake(20, 20, 30, 30)];
        _moveView.backgroundColor = [UIColor redColor];
        [self addSubview:_moveView];
    }
    return self;
}

//当我们的事件开始的时候调, 对于touch来说, 实际上当手指头放到屏幕上的时候,这个方法会被调用
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    _moveView = [[UIView alloc ]initWithFrame:CGRectMake(0, 0, 30, 30)];
    _moveView.backgroundColor = [UIColor redColor];
    [self addSubview:_moveView];
}

////当我们手指点击屏幕,并且没有抬起而滑动的时候, 这个方法被调用, 由此可知这个方法是连续被调用的。
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *tch = [touches anyObject];
    CGPoint currentPoint = [tch locationInView:self];
    
//    CGRect frame = self.moveView.frame;
    self.moveView.center = currentPoint;
    
    NSLog(@"%s",__func__);
}

//当我们的事件对束的时候调,对于touch来说, 实际上是当手指头离开屏幕的时候,这个方法会被调用
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{

}

/*
//
////当我们的事件被取消的时候, 比如说:手指点击在屏幕上, 突然来电话, 这个时候, 电话的优先级很高,
////所有的事件都应该被取消。 这个方法会被调用
//- (void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event
//{
//    NSLog(@"%s",__func__);
//    self.startPoint = CGPointZero;
//}
*/

/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
    // Drawing code
    self.backgroundColor = [UIColor orangeColor];
}
 */
@end

手势(3)view随手势移动,布布扣,bubuko.com

时间: 2024-12-29 06:42:30

手势(3)view随手势移动的相关文章

Xib给特定view添加手势

步骤1.拖拽手势注意:拖拽到First Responder下方,成功后会出现一个分类Objects(如图 拖拽成功后会多出一个分类Objects ) 步骤2.给需要的view绑定手势控件 拖拽gestureRecognizers(control + 左键或右键)到要绑定的view上. 步骤3.选中swipe控件,拖拽右侧的Sent Actions到响应的.m文件中(类似拖拽一个响应方法),如果是添加左右滑动手势,则需拖拽两个手势控件响应一个方法.如图 响应方法 步骤4.在方法中判断左滑或者右滑方

android自定义手势解锁View

有时候为了程序的安全性,我们经常要采取一些安全措施,就像我们常用的支付宝那样,隔一定的时间再回到应用程序时会让用户利用手势去解锁应用程序,最近由于项目需求,也要求做这样一个功能,当用户切出本应用程序15分钟后回来,让用户手势解锁,整个需求的难点就在如何实现这个手势锁,开始一点头绪也没有,没有一点思路去实现这个手势解锁功能,在google了一番后看了一篇非常好的博客后,按照博主的思路的确是可以实现一个十分不错的手势锁View,也参考了下那位大神的代码,下面是我根据他的思路和代码片段实现的一个自定义

手势操作(单击手势,长按手势,策划手势)

1.策划手势操作 // // ViewController.m // 1-28策划手势 // // Created by ma c on 16/1/28. // Copyright © 2016年 bjsxt. All rights reserved. // #import "ViewController.h" @interface ViewController () @property (strong, nonatomic) UISwipeGestureRecognizer *rec

Android开发之手势滑动(滑动手势监听)

在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动通常有两种方法:一种是单独实现setOnTouchListener监听器来,另一种是构建手势探测器 第一种方法,就是在要实现滑动的View中,实现OnTouchListener监听事件,然后判断KeyDonw和KeyUp 直接的位置距离来判断滑动方向,核心实现代码如下: /** * 设置上下滑动作监听器 * @author caizhiming */ private void setGestureListen

iOS手势学习UIGestureRecognizer & cocos2d 手势推荐

iOS手势学习UIGestureRecognizer & cocos2d 手势推荐 手势识别类型: UILongPressGestureRecognizer  // 长按UIPanGestureRecognizer  // 慢速拖动UIPinchGestureRecognizer  // 两指向內或向外拨动UIRotationGestureRecognizer   // 旋转UISwipeGestureRecognizer   // 快速滑动UITapGestureRecognizer   //

Android手势源码浅析-----手势绘制(GestureOverlayView)

Android手势源码浅析-----手势绘制(GestureOverlayView)

自定义View实现手势监听

下面是我自定义的view,主要是实现左右滑动 要实现手势监听,首先要实现OnGestureListener接口 其次是实例化一个GestureDetector:mDetector = new GestureDetector(context, this); 如果只是简单的实现OnGestureListener的方法,是不能实现监听效果, 我们要将onDown , onScroll的返回值改为true,自定义view的clickable属性为true. 除此之外,我们要重写自定义view的onTou

IOS开发-手势简单使用及手势不响应处理办法

1.点击 2.长按 3.拖拽 4.轻扫.捏合.旋转 5.使用手势需要注意的地方 1.注意处理轻扫和拖拽的冲突 //那个时间短的话 就让那个先执行 //处理 拖拽和轻扫 两个手势的冲突 //需要轻扫手势执行完毕后 再去执行拖拽 先执行轻扫后 再执行拖动 处理方法: [panges(拖拽对象) requireGestureRecognizerToFail:swiges(轻扫对象)]; 2.程序出现手势不响应处理方法 //    手势如果不响应 //    1.看是否添加到了imageView上 如果

给view添加类似系统上拉快捷菜单的手势

iOS7以后从屏幕最下方上划会滑出快捷菜单,感觉这个效果不错,就想做个类似的效果,这个东西技术含量不高,每次都写一遍的话就太浪费时间了,所以就把它写成了一个分类,用起来会方便一点. demo地址:https://github.com/Phelthas/TEST_XMLCommon 使用效果如下: (注:动画使用了facebook的pop) 实现方案: 1,用分类的方式给view添加了一个 - (void)addPanGestureWithEndFrame:(CGRect)endFrame;的方法