オブジェクトの「ビジュアル」座標を取得するにはどうすればよいですか?たとえば、UIScrollView内でテキストフィールドのフレームを取得すると、UIScrollViewに相対するXとYが表示されますが、ビューに表示されているかのようにXとYを知りたいと思います。iOSのウィンドウに相対的なオブジェクトの位置を取得するには?
組み込み関数はありますか?あなたがするCGPointとしてのポイントを持っていたら
オブジェクトの「ビジュアル」座標を取得するにはどうすればよいですか?たとえば、UIScrollView内でテキストフィールドのフレームを取得すると、UIScrollViewに相対するXとYが表示されますが、ビューに表示されているかのようにXとYを知りたいと思います。iOSのウィンドウに相対的なオブジェクトの位置を取得するには?
組み込み関数はありますか?あなたがするCGPointとしてのポイントを持っていたら
あなたが呼び出すことができます。あなたのUIView上の
// Objective-C
- (CGPoint)convertPoint:(CGPoint)point toView:(UIView *)view
// C#'s UIView class contains this method:
PointF ConvertPointToView (PointF point, UIView target);
を。
あなたの意見であなたのポイントを渡して、ポイントとしてコーディネートします。これは、その後のウィンドウにするCGPoint(C#でPointF)変換を返します
// Objective-C
[UIWindow keyWindow]
// C#
UIWindow.KeyWindow
のビューのパスのための座標系を!例えばので
:
// Objective-C
CGPoint convertedPoint = [myScrollView convertPoint:textField.frame.origin
toView:[UIWindow keyWindow]];
// C#
var convertedPoint = myScrollView.ConvertPointToView (
textField.Frame.Location, UIWindow.KeyWindow);
・ホープこのことができます:)
UIViewのは、いくつかのconvertPointとconvertRect機能があります。
- convertPoint:toView:
– convertRect:toView:
など
は私だけかもしれませんが、この作品の罰金はwouldntの?
- (CGRect) convertView:(UIView*)view
{
CGRect rect = view.frame;
while(view.superview)
{
view = view.superview;
rect.origin.x += view.frame.origin.x;
rect.origin.y += view.frame.origin.y;
}
return rect;
}
ある時点で、ビューがUIScrollViewの内部にあるときはありません。 –