2

UIScrollViewカスタム描画ビュー(2つの円)を含むズーム可能オブジェクトがあります。ビューをズームしたときに、アプリのウィンドウで円の中心がどこにあるかを知りたいです。次の手順を検討してください。 1.1xでのビュー

1Xでのビュー

ここに画像の説明を入力してください

ビューは任意のレベルでズームされ、ピンチは最初の円に焦点を合わせています

ここに画像の説明を入力してください

ビューは任意のレベルにズームされ、ピンチは右上隅に焦点が当てられてい
ます。私が尋ねるのは、このビューの円が同心になるように、スクロールビューの上に円を含む別のビューを配置する場合です。 (同じサイズである必要はありません)スクロールビューのビューの小さい円で、新しい円の中心はどこに配置する必要がありますか?

4

2 に答える 2

5

UIViewの座標変換方法を使用する場合、カスタムビューがスクロールビューに埋め込まれていることは関係ありません。

MyCustomCircleView *circleView;

CGPoint centerInLocalCoordinates = circleView.centerOfACircle;
CGPoint centerInWindowCoordinates = [circleView convertPoint:centerInLocalCoordinates
                                                      toView:nil];

たぶん、ウィンドウの座標はあなたが探しているものではありません。ウィンドウの座標空間は常に縦向きで、下部にホームボタンがあることに注意してください。デバイスを横向きに保持すると、座標が(もちろん)回転します。

たとえば、ビューコントローラのビューの座標空間など、スーパービューの座標に変換する方が簡単な場合があります。

于 2012-04-12T07:40:22.150 に答える
0

円を描きましたか?、、のいくつかの組み合わせはscrollView.contentOffset、あなたが望むものです。これらの値を使用して、変換とスケーリングをさかのぼることができます。scrollView.contentSizescrollView.zoomScale

于 2012-04-12T07:42:47.183 に答える