たくさんの画像を含む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;
}
}
それがあなたにアイデアを与えることを願っています。:)