0

たくさんの画像を含むUIScrollViewがあります。これまでのところ、レイアウトが変更されたときに、scrollviewとそのUIImageViewのサイズを変更することができました。ただし、問題は、レイアウトが変更されると、画像が中心点を中心に回転するのではなく、「揺れる」ように見えることです。これは奇妙に見えます。このようなページングを備えた多くのアプリが、画像ビューにスムーズなレイアウト変更アニメーションを実装しているのがわかります。どうすればこれを達成できますか?

コードは次のようになります。

viewDidLoad
{
     // Set up scrollview subviews and their content offsets based on NSArray

     // Set up orientation change listener
}

orientationChangeListener
{
     UIImageView *iv = [self.ivScrollView.subviews objectAtIndex: self.ivPager.currentPage];

     self.ivScrollView.layer.anchorPoint = iv.layer.anchorPoint;

     [self.ivScrollView setContentOffset: CGPointMake(self.ivScrollView.frame.size.width * self.current, 0.0) animated:NO
 ];

    switch(orientation){

        case portrait:

              // update scrollview's subview sizes and content offsets
              // code to position the image appropriately based on screen dimensions

               break;

       case landscapeLeft:

              // update scrollview's subview sizes and content offsets
              // code to position the image appropriately based on screen dimensions

               break;

       case landscapeRight:

              // update scrollview's subview sizes and content offsets
              // code to position the image appropriately based on screen dimensions

               break;

    }

}

それがあなたにアイデアを与えることを願っています。:)

4

1 に答える 1

0

これは、誰かがこの問題に直面し、たまたまこのページを見つけた場合に備えています。

多くの調査の結果、このビデオWWDC 2010ビデオ:スクロールビューを使用したアプリの設計の指示に従って、最終的にこの問題を解決しました。

また、ビデオのすべてをフォローした後、画像を表示するズーム可能なスクロールビューのそれぞれでこのプロパティを設定する必要がありました。

myZoomableScrollview.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
于 2013-01-11T10:03:32.060 に答える