2011-09-06 5 views
0

私はImageViewをUIViewに追加しています。今私はズームインする必要がありますZoomOutは、再びサブビューUIViewを追加するimageViewに追加される画像。ズーム方法ズームアウトUIView内

これで画像にズーム効果が得られます。

私は今日は幸運ではありません。

私は多分scrollview使用する

答えて

1

スクロールビューを使用します。 。その後、スクロールビューにUIImageViewを追加し、UIImageViewに追加し、その後、UIImageをロードし、あなたのペン先にscrollviewを追加します(またはプログラムにそれを実行します。あなたの内側 //は

UIImage * image = //set image here 
previewImageView = [[UIImageView alloc] initWithImage:image]; 
scrollView.contentSize = CGSizeMake(320, 480); 
[scrollView addSubview:previewImageView]; 
scrollView.minimumZoomScale = 0.4; 
scrollView.maximumZoomScale = 4.0; 
scrollView.delegate = self; 
[scrollView setZoomScale:scrollView.minimumZoomScale]; 

をのviewDidLoad次に、あなたのジェスチャーメソッドを追加:

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollview { 
    return self.previewImageView; 
} 



- (CGRect)zoomRectForScale:(float)scale withCenter:(CGPoint)center { 
    CGRect zoomRect; 
    zoomRect.size.height = [self.scrollView frame].size.height/scale; 
    zoomRect.size.width = [self.scrollView frame].size.width/scale; 

    zoomRect.origin.x = center.x - (zoomRect.size.width/2.0); 
    zoomRect.origin.y = center.y - (zoomRect.size.height/2.0); 

    return zoomRect; 
} 

- (void)zoomAction:(UIGestureRecognizer *)gestureRecognizer { 

    NSLog(@"Hit the gestureRecognizer"); 
    float newScale = [self.scrollView zoomScale] * 2; 
    CGRect zoomRect = [self zoomRectForScale:newScale withCenter:[gestureRecognizer locationInView:gestureRecognizer.view]]; 
    [self.scrollView zoomToRect:zoomRect animated:YES]; 
} 

EDIT - 私は私の高さと幅が私CGSizeMake

+0

に混入していた@ jeoコーダー私は行くことができる効果をズームしている必要がある場合は、あなたのコードは......私のために働いていますUIScrollViewとUIWebVで見る。 [これは完璧ですか?] – user891268

0

をし、ウェブでImageViewのを追加してみself.multipleTouchEnabled = YES;

1

を置きますビューまたはスクロールビューを使用すると、ズームが容易になります。

関連する問題