複数のカスタム UIView を UIScrollView のサブビューとして配置する iPhone アプリを開発しています。各ビューにはベース ビューの一部をトレースする独自の描画ルーチンがあるため、サブビューは透明なビューとして互いの上に配置されます。基本ビューは UIImageView です。これは通常、ユーザーがパンやズームイン、ズームアウトできるようにしたい大きな画像です。
私が抱えている問題は、UIScrollView をズームインおよびズームアウトすると、ユーザーがズームしている間、サブビューが再描画されないことです。ズームが完了したら、サブビューを適切に再配置およびスケーリングできますが、ユーザー エクスペリエンスは望ましくありません。ImageView と共にサブビューをスケーリングするためにズームが行われているため、サブビューを非表示にするか再描画する方法を見つけることができませんでした。
何か案は?
ありがとう!
実装したコードは次のとおりです。
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(float)scale {
for (UIView *view in subViews)
{
[view updateView:scale];
}
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *) scrollView {
return imageView;
}