ここで検索したところ、userInteractionEnabled プロパティをオンにするようにという回答がたくさんありました。私はすでにそれをしました。
サブビューをプログラムで作成します (Interface Builder ではありません)。サブビューは UIView のカスタム サブクラスです (PieceSuperClass と呼ばれます)。
私が欲しいのは、次のように見えるものだけです
UITouch *touch = [touches anyObject];
CGPoint currentPosition = [touch locationInView:self.view];
UIView *hitView = [self.view hitTest:currentPosition withEvent:event];
if ([hitView isKindOfClass:[PieceSuperClass class]]) {
return hitView;
}
何らかの理由でhitView
isKindOfClass
UIImageView
、私はそれをPieceSuperClass
. 「PieceSuperClass」は UIImageView のサブクラスです。
// Draw proper piece
UIImage *pieceImage = [UIImage imageNamed:[NSString stringWithFormat:@"%@%@.png", pieceColor, pieceName]];
PieceSuperClass *pieceImageView = [[PieceSuperClass alloc] initWithFrame:CGRectMake(0, 0, 39, 38)];
pieceImageView.image = pieceImage;
pieceImageView.identifier = [NSString stringWithFormat:@"%@%@%@", pieceColor, pieceName, pieceNumber];
pieceImageView.userInteractionEnabled = YES;
[boardView addSubview:pieceImageView];