画面にがありますUIImageView
。CGPoint
そのポイントをテストして、にあるかどうかを確認できるようにしたいと思いますUIImageView
。これを行うための最良の方法は何でしょうか?
26545 次
5 に答える
51
CGPoint
基準点ではダメです。ポイントがウィンドウの座標にある場合は、を使用して取得できます
CGPoint locationInView = [imageView convertPoint:point fromView:imageView.window];
if ( CGRectContainsPoint(imageView.bounds, locationInView) ) {
// Point lies inside the bounds.
}
pointInside:withEvent:
メソッドを呼び出すこともできます
if ( [imageView pointInside:locationInView withEvent:nil] ) {
// Point lies inside the bounds
}
于 2011-06-28T03:06:44.747 に答える
14
Swift4でテスト済み
view.frame.contains(point)
于 2018-03-24T22:57:46.403 に答える
2
if(CGRectContainsPoint([myView frame], point))
ここで、pointはCGPointであり、myViewはUIImageViewです。
于 2011-06-28T03:02:31.353 に答える
2
フルスクリーンウィンドウがあると仮定します(かなり合理的だと思います)。次に、以下を使用して、ポイントをウィンドウの座標空間からUIImageViewに変換できます。
CGPoint point = ...
UIWindow window = ...
UIImageView imageView = ...
CGPoint transformedPoint = [window convertPoint:point toView:imageView];
次に、次のようにして、ポイントが画像ビューのフレーム内にあるかどうかをテストできます。
if(CGRectContainsPoint(imageView.frame, transformedPoint))
{
// do something interesting....
}
于 2011-06-28T03:05:13.767 に答える
0
Swift3では
let isPointInFrame = UIScreen.main.bounds.contains(newLocation)
于 2017-05-03T11:37:08.037 に答える