2016-07-18 6 views
0

私はviewDidLoadメソッドで次のコードを使用しています。私はピンチされたときに画像がズームされることを期待していますが、ズームされていません。UIImageviewはズームされていません

[self.displayImage setUserInteractionEnabled:YES]; 

    NSString *savedValue = [[NSUserDefaults standardUserDefaults] 
          stringForKey:@"imageUrl"]; 
    NSLog(@"saved %@",savedValue); 

    _displayImage.image = nil; 

     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^(void) { 
      NSData *data0 = [NSData dataWithContentsOfURL: [NSURL URLWithString:savedValue]]; 
      UIImage *image = [UIImage imageWithData: data0]; 

      dispatch_sync(dispatch_get_main_queue(), ^(void) { 
       _displayImage.image = image; 
      }); 
     }); 

    self.displayReceivedImageScrollView.delegate = self; 


    [self.displayReceivedImageScrollView addSubview:_displayImage]; 
    _displayReceivedImageScrollView.contentSize = _displayImage.frame.size; 


    _displayReceivedImageScrollView.scrollEnabled = YES; 

    // For supporting zoom, 
    _displayReceivedImageScrollView.minimumZoomScale = 0.5; 
    _displayReceivedImageScrollView.maximumZoomScale = 2.0; 


     self.displayReceivedImageScrollView.contentOffset = CGPointMake(self.displayReceivedImageScrollView.bounds.size.width, 0); 

     UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(slideToLeftWithGestureRecognizer:)]; 
     UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(slideToRightWithGestureRecognizer:)]; 
     [swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft]; 
     [swipeRight setDirection:UISwipeGestureRecognizerDirectionRight]; 

     [self.displayImage addGestureRecognizer:swipeLeft]; 
     [self.displayImage addGestureRecognizer:swipeRight]; 

私はストーリーボードに画像ビューを追加しました。しかし私はズームを可能にするために実行時にスクロールビューを膨らませています。私はそれをズームすることができません。 swipeLeftまたはswipeRightメソッドが呼び出されることはありません。どうすればこれを整理できますか?ズーム用

+0

? –

+0

私はそれをズームしたい – Learner

答えて

2

デリゲートメソッドスクロールビューを使用することができます画像:あなたがスワイプジェスチャを使用する理由

-(void)setScrollView:(UIScrollView *)scrollView 
{ 
    _scrollView=scrollView; 
    _scrollView.minimumZoomScale=0.2; 
    _scrollView.maximumZoomScale=3.0; 
    _scrollView.delegate=self; 
} 
-(UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView 
{ 
    return self.imageView; 
} 
-(void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale 
{ 
    [self.scrollView flashScrollIndicators]; 
} 
+0

私はそれを試した。それはうまく動作しますが、イメージは元のサイズよりも拡大されます。どうすればいいですか?.. – Learner

+0

スクロールビューのズームスケールは、次のように設定する必要があります:self.scrollView.zoomScale = 1; –

+0

仲間ありがとう。できます – Learner

関連する問題