0

プログレスバーを UIScrollView の外側に保持すると、x & y 軸 ((110,250) など) が得られます。そのプログレスバーを UIScrollView に保持すると、異なる x & y 軸 ((9,100) など) が得られます。

私の要件は、進行状況バーを UIScrollView に配置する必要があることですが、UIScrollview の外側の進行状況バーの x 軸と y 軸を知りたいです。

つまり、私の進行状況バーの原点は、Scrollview ではなく UIView に関して計算する必要があります

解決策を教えてください。

4

2 に答える 2

6

UIView は、共通の親ビュー (ウィンドウも含む) を持っている限り、四角形をある座標空間から別の座標空間に変換できます。たとえば、次のようになります。

[scrollview convertRect:subview.frame toView:someOtherView];  //scrollView converts the frame of subView.frame to the coordinate system of someOtherView

ポイントまたは四角形を別のビューから、または別のビューに変換するいくつかの方法があります。

[superView convertRect:anotherView.frame fromView:anotherView.superView]; //Will give you the rect of anotherView.frame in superView coordinate system.

rect は何でもよいことに注意してください (特定のビューのフレームである必要はありません)。メソッドが行うのは、ある座標空間から別の座標空間に変換することだけです。

また、画面 (またはメイン ウィンドウ) 上のビューの座標を見つけるには、"toView:" を nil に設定します。

[superView convertRect:subView.frame toView:nil]; //will give you the coordinate of subView in the window
于 2012-04-18T12:12:36.013 に答える
0

これらの 2 つの UIView メソッドが役立ちます。

– convertPoint:toView:
– convertPoint:fromView:
于 2012-04-18T12:12:44.720 に答える