あるビューから別のビューに移動するときにタッチを検出できるように、このスタックオーバーフロー エントリを適用しました。
サブビューは実際にタッチを検出します。しかし、私はもっと何かをしています。タッチを検出したビューを親ビューから削除し、新しいビューを親ビューに追加する必要があります。だから、私はこのようなものを持っています:
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [[event allTouches] anyObject];
CGPoint touchLocation = [touch locationInView:self.contentView];
for (UIView *view in self.contentView.subviews)
{
if ([view isKindOfClass:[MyCustomView class]] &&
CGRectContainsPoint(view.frame, touchLocation))
{
[view removeFromSuperview];
UIView *aNewView = [[[UIView alloc] initWithFrame:someFrame] autorelease];
[self.contentView addSubview:aNewView];
}
}
}
if ステートメントを通過した後、アプリはタッチ ムーブに応答しません。何が問題だと思いますか?これが原因でした: [view removeFromSuperview]
?