0

UI要素のx座標またはy座標を取得するには、button.center.yやself.view.frame.size.heightなどを使用してUIViewの高さを取得できることを理解しています。しかし、私がこれらすべてを正しく理解していれば、これらすべてはUIViewの範囲内にあります。

iPhoneの画面自体に関して、どのようにして同じ情報を取得しますか?

多分次のようなものです:

screen.view.frame.size.height

前もって感謝します。

編集:私のUIElementsはUIScrollViewにあります。

4

1 に答える 1

6

ビューの座標系からそれを囲むウィンドウの座標系にポイントを変換してから、そのポイントをウィンドウから画面に変換します。使用-[UIView convertPoint:toView:]して-[UIWindow convertPoint:toWindow:]

 UIWindow* myWindow = myView.window;
 CGPoint pointInWindow = [myView convertPoint:pointInMyView toView:myWindow];
     // note: toView:nil also works
 CGPoint pointInScreen = [myWindow convertPoint:pointInWindow toWindow:nil];

ちなみに、重要な点は、ビューのプロパティは、ビューのスーパービューの座標系に関連しcenterているということです。したがって、ビューの中心を画面に変換するには、次のようにします。frame

 CGPoint pointInWindow = [myView.superview convertPoint:myView.center toView:nil];
 CGPoint pointInScreen = [myView.window convertPoint:pointInWindow toWindow:nil];
于 2012-12-31T20:50:39.537 に答える