放大后点击UIImageView返回到开始坐标?

问题描述:

我创建了一个UIImageView,我的用户可以放大并从左向右平移;效果很好。不过,我想这样做是为了当用户点击屏幕时,图像会回到原来的位置(在用户放大或平移之前)。任何想法我如何编排?请参见下面当前代码:放大后点击UIImageView返回到开始坐标?

ViewController.m

- (IBAction)pinchGestureDidFire:(UIPinchGestureRecognizer *)pinch { 
    UIView *pinchView = pinch.view; 
    CGRect bounds = pinchView.bounds; 
    CGPoint pinchCenter = [pinch locationInView:pinchView]; 
    pinchCenter.x -= CGRectGetMidX(bounds); 
    pinchCenter.y -= CGRectGetMidY(bounds); 
    CGAffineTransform transform = pinchView.transform; 
    transform = CGAffineTransformTranslate(transform, pinchCenter.x, pinchCenter.y); 
    CGFloat scale = pinch.scale; 
    transform = CGAffineTransformScale(transform, scale, scale); 
    transform = CGAffineTransformTranslate(transform, -pinchCenter.x, -pinchCenter.y); 
    pinchView.transform = transform; 
    pinch.scale = 1.0; 

} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch; 
{ 
    BOOL shouldReceiveTouch = YES; 

    if (gestureRecognizer == tap) { 
     shouldReceiveTouch = (touch.view == featureImage); 
    } 
    return shouldReceiveTouch; 
} 

- (IBAction)panWasRecognized:(UIPanGestureRecognizer *)recognizer { 
    CGPoint translation = [recognizer translationInView:featureImage]; 

    CGPoint center = featureImage.center; 
    center.x += translation.x; 
    center.y += translation.y; 
    featureImage.center = center; 

    [recognizer setTranslation:CGPointZero inView:featureImage];  

} 

-(void)imgToFullScreen { 


    [[NSBundle mainBundle] loadNibNamed:@"FullSized" owner:self options:nil]; 
    CATransition *transition = [CATransition animation]; 
    transition.duration = 0.5; 
    transition.type = kCATransitionReveal; 
    [mrView.layer addAnimation:transition forKey:nil]; 
    [self.view addSubview:mrView]; 

    NSString *imageUrl = [NSString stringWithFormat:@"/image/%@",cellImageLink]; 

    [self.featureImage sd_setImageWithURL:[NSURL URLWithString:imageUrl]]; 

    featureImage.userInteractionEnabled = YES; 


} 

添加UITapGestureRecognizer到视图。当它触发时,将视图的transform设回CGAffineTransformIdentity