2009-09-20 8 views
7

イメージをUIScrollViewにセンタリングし、AppleのPhotosアプリケーションのように動作させるための回避策を作成するために、現在のズームレベルを取得し、その数値を使用して各ズーム時にイメージを挿入する量を計算する必要がありますレベル。UIScrollViewで現在のズームレベルを取得するにはどうすればよいですか?

(注:一部のプログラマは、スクロールビューと同じサイズのUIViewにイメージをセンタリングすることによって、スクロールビュー内のイメージをセンタリングしていることに気付いています。これは良い結果をもたらしません。リンゴは、写真アプリで動作させました。)

だから、どのようにUIScrollViewのコンテンツの現在のズームレベルを取得する知っている?

答えて

9

OS 3.xには、「zoomScale」というプロパティがあります。これにより、必要なものが得られます。 2.xでは、これを取得するためにコンテンツビューの変換を直接見ることができると信じています(もちろん、公式ではありません)。

+0

私は試しています:NSLog(@ "%d"、myScrollView.zoomScale);私のscrollViewDidEndZoomingメソッドでは、それは "0"を取得しているだけです。私はここで間違って何をしていますか?私はあなたがsetterとしてzoomScaleを使うことができると知っていますが、現在のズームスケールを取得する作業もありますか? – Jonah

13

私はあなたの問題の答えを得ました。私はあなたのscrollViewControllerクラスでこのメソッドを使用する必要がありますと思う。

- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale{ 
    NSLog(@"Zoomscale %f",scale); 
     NSLog(@"Zoom End!"); 
} 
関連する問題