重複の可能性:
ポリゴン内のCGPointかどうかを検出します
からの一連のタッチの座標がありUIEventます。定義できる特定の形状(ポリゴン)に含まれているかどうかを確認する方法はありますか?
私はJavaの経験があり、polygonクラスを使用してcontains(int x, int y)メソッドを呼び出します。Cocoa Touchでこれを行う同様の方法はありますか?
重複の可能性:
ポリゴン内のCGPointかどうかを検出します
からの一連のタッチの座標がありUIEventます。定義できる特定の形状(ポリゴン)に含まれているかどうかを確認する方法はありますか?
私はJavaの経験があり、polygonクラスを使用してcontains(int x, int y)メソッドを呼び出します。Cocoa Touchでこれを行う同様の方法はありますか?
ポリゴンを として定義するとCGPath、次のように使用CGPathContainsPoint()できます ... アプリケーションのコンセプトについて詳しく教えてください。
編集:
また、より高いレベルUIBezierPathおよび/またはNSBezierPath..これらのオブジェクトの両方に-containsPointメソッドがあります。
使ってみてCGRectContainsPoint(CGRect rect, CGPoint point)
ここを参照してください: https://developer.apple.com/library/mac/#documentation/graphicsimaging/reference/CGGeometry/Reference/reference.html
また
たぶん、三角形などの内部でのみタッチを検出したいなど、何か変わったことをしているのかもしれません。その場合は、これを無視できます。ただし、iOS は初めてなので、UIControlターゲットとアクションのペアを持つサブクラスまたはUIGestureRecognizer.
コード例は次のとおりです。
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];
後でtarget-- おそらくビュー コントローラーで、次のメソッドを実装します。
- (void)buttonPressed:(id)sender
{
}
ジェスチャ レコグナイザを使用する場合は、ジェスチャ レコグナイザを に追加し、 の場合とUIView同様にUIControl、ターゲットとアクションのペアを追加します。
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
[self.view addGestureRecognizer:tapRecognizer];
- (void)viewTapped:(UIGestureRecognizer *)recognizer
{
}
これらは、基本的なユーザー操作の典型的なアプローチです。& company を使用するよりもこれらを使用すると、はるかに簡単に時間を過ごすことができますtouchesBeganが、それらが必要なものである場合は、他の回答者がカバーしています.