IOS圖片拖動 UIPanGestureRecognizer的使用案例
//
// pictureDragViewController.m
// Join10
//
// Created by Shining Chen on 16/1/20.
// Copyright © 2016年 chen ling. All rights reserved.
//
#import "pictureDragViewController.h"
@interface pictureDragViewController ()
@property(nonatomic,strong)UIImageView *picImg;
@end
@implementation pictureDragViewController
-(UIImageView *)picImg{
if (!_picImg) {
_picImg=[[UIImageViewalloc]initWithFrame:CGRectMake(150, 150, 100, 100)];
_picImg.image=[UIImage imageNamed:@"IceCreamImg"];
[self.view addSubview:_picImg];
}
return_picImg;
}
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view.
self.view.backgroundColor=ViewBackGroundColor;
UIPanGestureRecognizer *pan=[[UIPanGestureRecognizeralloc]initWithTarget:selfaction:@selector(handlePan:)];
[self.picImgsetUserInteractionEnabled:YES];//開啟圖片控制元件的使用者互動
[self.picImgaddGestureRecognizer:pan];//給圖片新增手勢
}
-(void)handlePan:(UIPanGestureRecognizer *)rec{
//返回在橫座標上、縱座標上拖動了多少畫素
CGPoint point=[rec translationInView:self.view];
NSLog(@"%f,%f",point.x,point.y);
rec.view.center=CGPointMake(rec.view.center.x+point.x, rec.view.center.y+point.y);
//拖動完之後,每次都要用setTranslation:方法制0這樣才不至於不受控制般滑動出檢視
[rec setTranslation:CGPointMake(0, 0) inView:self.view];
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}