- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
}
- (void)viewWillAppear:(BOOL)animated
{
_imgView.image = _image;
CGSize s=_image.size;
NSLog(@"%g %g",s.width,s.height);
// 拖动
UIPanGestureRecognizer *pan=[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGuestre:)];
[_imgView addGestureRecognizer:pan];
_imgView.userInteractionEnabled=YES;
//拉伸
UIPinchGestureRecognizer *pin=[[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handleScaleGuesture:)];
[_imgView addGestureRecognizer:pin];
}
- (void)handleScaleGuesture:(UIPinchGestureRecognizer *)recognizer
{
CGFloat scale = recognizer.scale;
//放大情况
NSLog(@"%g",scale);
//缩小情况
if (scale < 1.0) {
return;
}
}
- (void)handlePanGuestre:(UIGestureRecognizer *)recognizer
{
CGPoint p=[recognizer locationInView:recognizer.view.superview];
NSLog(@"%g %g",p.x,p.y);
if (_sourcePoint.x==0 && _sourcePoint.y==0) {
_sourcePoint=p;
}
else
{
CGRect r=_imgView.frame;
_imgView.frame=CGRectMake(r.origin.x+(p.x-_sourcePoint.x), r.origin.y+(p.y-_sourcePoint.y), r.size.width, r.size.height);
_sourcePoint=p;
NSLog(@"%g %g",_sourcePoint.x,_sourcePoint.y);
}
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end