UIGestureRecognizer

来源:互联网 发布:淘宝信用卡代付套现 编辑:程序博客网 时间:2024/04/30 19:45

#import "MainViewController.h"


@interface MainViewController ()


@end


@implementation MainViewController


- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view.

    

    // UIImageView的使用

    

    // UIImageView是一个显示图片的类,本身不是图片,而是类似于相框

    

   UIImageView *imageView = [[UIImageViewalloc] initWithFrame:CGRectMake(20,20, 335, 600)];

    imageView.backgroundColor = [UIColorblackColor];

    [self.viewaddSubview:imageView];

    [imageViewrelease];

    

    

    // UIImage是一个图片类,保存了一张图片的所有信息,本身不能显示,需要借助UIImageView显示

   UIImage *image = [UIImageimageNamed:@"nb.jpg"];

    

    // 使用UIImageView显示一张图片

    imageView.image = image;

    

    imageView.userInteractionEnabled =YES;

    

    // 手势

    

    

    // 点击

    

    

//    UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)];

//    

//    tap.numberOfTapsRequired = 2;

//    tap.numberOfTouchesRequired = 2;

//    

//    [imageView addGestureRecognizer:tap];

//    [tap release];

    

    // 长按

    

//    UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(longPressAction:)];

//    

//    // 需要等待的时间

//    longPress.minimumPressDuration = 3;

//    

//    // 等待过程中可以移动的范围

//    longPress.allowableMovement = 200;

//    

//    [imageView addGestureRecognizer:longPress];

//    [longPress release];

    

    

    

    // 轻扫

    

//    UISwipeGestureRecognizer *swipe = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeAction:)];

//    

//    swipe.direction = UISwipeGestureRecognizerDirectionUp;

//    

//    //默认  从左往右

//    [imageView addGestureRecognizer:swipe];

//    [swipe release];


    

    // 旋转

    

    

//    UIRotationGestureRecognizer *rotation = [[UIRotationGestureRecognizer alloc] initWithTarget:self action:@selector(rotationAction:)];

//    [imageView addGestureRecognizer:rotation];

//    [rotation release];

    

    

    

    // 捏合

    

//    UIPinchGestureRecognizer *pinch = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(pinchAction:)];

//    

//    [imageView addGestureRecognizer:pinch];

//    [pinch release];

    

    

    

    // 拖拽

    

    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizeralloc] initWithTarget:selfaction:@selector(panAction:)];

    [imageViewaddGestureRecognizer:pan];

    [panrelease];

    

    

    

//    UIScreenEdgePanGestureRecognizer     

    

    

    

}



- (void)panAction:(UIPanGestureRecognizer *)pan

{


   UIView *view = pan.view;

   CGPoint p = [pan translationInView:view];

    

    view.transform =CGAffineTransformTranslate(view.transform, p.x, p.y);

    

    [pan setTranslation:CGPointZeroinView:view];


}


- (void)pinchAction:(UIPinchGestureRecognizer *)pinch

{

   UIView *view = pinch.view;

    

    view.transform =CGAffineTransformScale(view.transform, pinch.scale, pinch.scale);

    pinch.scale =1;

    

   NSLog(@"捏合");


}



- (void)rotationAction:(UIRotationGestureRecognizer *)ro

{

   UIView *view = ro.view;

    

    view.transform =CGAffineTransformRotate(view.transform, ro.rotation);

    

    ro.rotation =0;

    

   NSLog(@"旋转");

}


- (void)swipeAction:(UISwipeGestureRecognizer *)swipe

{


   NSLog(@"轻扫");

}


- (void)longPressAction:(UILongPressGestureRecognizer *)longPress

{

    

    if (longPress.state ==UIGestureRecognizerStateBegan) {

        

       NSLog(@"长按");

    }


}


- (void)tapAction:(UITapGestureRecognizer *)tap

{

   NSLog(@"点击手势");

}


0 0