2013-03-25 99 views
0

我试图放大和缩小的ImageView的缩放手势不与ImageView的

在这里工作是代码

- (void)pinch:(UIPinchGestureRecognizer *)gesture 
{ 
    if (handSelected == YES) 
    { 
    if (gesture.state == UIGestureRecognizerStateEnded || gesture.state == UIGestureRecognizerStateChanged) 
    { 
     NSLog(@"gesture.scale = %f", gesture.scale); 

     CGFloat currentScale = self.imgHand.frame.size.width/self.imgHand.bounds.size.width; 
     CGFloat newScale = currentScale * gesture.scale; 

     if (newScale < 1.0) { 
      newScale = 1.0; 
     } 
     if (newScale > 4.0) { 
      newScale = 4.0; 
     } 

     CGAffineTransform transform = CGAffineTransformMakeScale(newScale, newScale); 
     self.imgHand.transform = transform; 
     gesture.scale = 1; 
    } 
    } 
} 


- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self adjustRingPressed:self]; 
    self.view.multipleTouchEnabled = YES; 
    self.imgHand.multipleTouchEnabled = YES; 
    UIPinchGestureRecognizer *gst = [[UIPinchGestureRecognizer alloc] initWithTarget:self.imgHand action:@selector(pinch:)]; 
    [gst setDelegate:self]; 
    [self.imgHand addGestureRecognizer:gst]; 

} 

看来我的捏代码永远不会运行

+0

尝试设置目标自我并添加手势识别到self.view – Marc 2013-03-25 13:35:47

回答

2

尝试添加:

self.imgHand.userInteractionEnabled = TRUE; 

默认的UIImageView已userInteractionEnabled = FALSE

0

使它成为一个功能的gesture像下面模板代码:

- (IBAction)handlePinch:(UIPinchGestureRecognizer *)recognizer 
{ 
    recognizer.view.transform = CGAffineTransformScale(recognizer.view.transform, recognizer.scale, recognizer.scale); 
    recognizer.scale = 1; 
}