1

このテーマには多くのトピックがあることは知っていますが、私の問題に対する適切な解決策が見つかりませんでした。画像とその他のコンポーネントがサブビューとして追加された UIScrollView があります。ズーム時にコンポーネントのサイズをリアルタイムで変更する良い方法を知りたいだけです。

- (void)scrollViewDidZoom:(UIScrollView *)scrollView {
    // Resizing image and other components
}

編集: ズームしてもスクロール ビュー内のコンポーネントが同じサイズを維持するという印象が欲しいです。ズーム中に大きくなったり小さくなったりしたくありません。

編集:これが私の UIViewController の階層です

  • 意見
    • ScrollView
      • メインビュー
        • 画像表示
        • 描画ビュー (UILabel、他の UIViews などのコンポーネントを含む UIView...)

どうもありがとう !

4

1 に答える 1

1

UIScrollView のスケールをそのままにして、サブビュー (scrollView ではなくサイズを調整) を使用して目標に到達し、そこですべてのサブビューと使用する画像を配置します。したがって、次のようになります。

yourView.transform = CATransform3DMakeScale(newScale, newScale, 1.0);

ここで、yourViewは scrollView のメイン (唯一の) サブビューです。次に、yourViewのサイズを新しいスケールで再計算し、それを scrollView のcontentSizeパラメータに設定して、拡大されたコンテンツを実際にスクロールできるようにします。

唯一のことは、この場合、 scrollViewDidZoom以外のコールバックを使用する必要があるということです。

PS UIView の変換パラメーターを変更しても、サブビューのスケールを気にする必要はありません。CoreAnimation がすべてを行います。

于 2012-10-17T09:42:52.597 に答える