なかじまの開発ブログ

アプリ開発における備忘録などなど。

MENU

画像の範囲内をタッチしたかどうか【Objective-C】

縦、横のサイズが32ピクセルの画像の場合

『ヘッダーファイル』

int x, y;    // 座標
UIImage Img; // 画像

メソッドファイル』

/* 初期化 */
- (id)initWithCoder:(NSCoder *)aDecoder {
    self = [super initWithCoder:aDecoder];

    if (self) {
        /* 画像読み込み */
        Img = [UIImage imageNamed:@"image.png"];


        x = y = 100;
    }

    return self;
}

- (void)drawRect:(CGRect)rect {
    [Img drawAtPoint:CGPointMake(x, y)];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    CGPoint location = [touch locationInView:self];

    // 画像の範囲をタッチ
    if (CGRectContainsPoint(CGRectMake(x, y, 32, 32), location)) NSLog(@"範囲内だよ");
}