2012-01-23 15 views
0

UIScrollView内にUIImageViewがあり、UIImageViewのフレームサイズがUIScrolLViewのサイズよりも大きい場合、アニメーションを行い、画面に収まるようにアニメーションを再作成します。ただし、以下のこと: UIScrollViewのUIImageのサイズ変更

[UIView animateWithDuration:.2 animations:^{ 
      [self.imageView_ setFrame:zoomedImageFrame]; 

     } completion:^(BOOL completed){ 
      //[self animateImageOnDismissal]; 
     }]; 

が動作しない、私はそれを左にシフトしていますようになりましオフセットxとyの原点は、異なっていると思いますので。どのように調整してズームイン/縮小するのですか?

+0

... ImageViewの、&も必要な幅、高さにscrollViewセンターを提供することができ、私はあなたの質問を理解していない – vishy

+0

...中央座標を修正してみてください。 'UIScrollView'のコンテンツサイズよりも大きい' UIImageView'を縮小して、それに合わせたいと思っていますか?上記のコードを実行すると、 'UIImageView'が左にシフトされますか?次に、zoomedImageFrameはどこから派生していますか? – ColdLogic

+0

はい...これが私の望むものです。zoomedImageFrameは実際にはUIImageViewのコンテンツサイズがフレームよりも大きくなる前の元のフレームです – xonegirlz

答えて

0

以下は、画像を縮小するのに役立ちます。

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:5]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut]; 
[UIView setAnimationBeginsFromCurrentState:YES]; 
CGPoint center = imageView.center; 

CGRect frame = imageView.frame; 

frame.size.width = 100; 
frame.size.height = 100; 
imageView.frame = frame; 
imageView.center = center; 

[UIView commitAnimations]; 

ここでuは