パンジェスチャを使用して、ドラッグラインでマルチビューをドラッグします。iOS-ドラッグアンドドロップの衝突検出選択したアイテムが別のサブビュー上にドラッグされたことを検出するにはどうすればよいですか?
私のコード:
- (void)viewDidLoad
{
[super viewDidLoad];
for (UIView *aView in self.view.subviews) {
[self addGestureRecognizersToPiece:aView];
}
}
- (void)addGestureRecognizersToPiece:(UIView *)piece
{
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panPiece:)];
[piece addGestureRecognizer:panGesture];
}
- (void)panPiece:(UIPanGestureRecognizer *)gestureRecognizer
{
CGPoint dragingPoint = [gestureRecognizer locationInView:self.view];
for (UIView *aView in self.view.subviews) {
if (CGRectContainsPoint([aView frame], dragingPoint)) {
aView.center = dragingPoint;
}
}
}
サブビューが非常に多いので、self.view内のすべてのサブビューをループさせたくはありません。ドラッグラインで一致するビューを検出したいだけです。どうやってするか?
[gestureRecognizerビュー]を使用すると、最初のビューが表示されます。
よろしくお願いします!