0

嗨,我想这样做,如果您触摸我放在视图上的图像,-(void)checkcollision 就会发生。-(void)checkcollision 发生了,但是当我触摸任何东西时。我怎么能说它只有在我触摸指定的图像时才有效。例如一个疙瘩:

IBOutlet UIImageView *pimple;
@property (nonatomic, retain) UIImageView *pimple;

这是touchesBegan代码

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {


    UITouch *myTouch = [[event allTouches] anyObject];
    [self checkcollision];
}


-(void)checkcollision {

    if (label.text = @"0") {
        label.text = @"1";
    }

    pimple.hidden = YES;
}
4

2 回答 2

1
CGPoint point = [myTouch locationInView:pimple];
if ( CGRectContainsPoint(pimple.bounds, point) ) {
    ... Touch detected.
}

或者你可以考虑gesture recognizers。在这种情况下,您可以使用点击识别器。

于 2011-05-28T09:34:36.543 回答
0

有两种选择:

  1. 子类化UIImageView并定义您自己的处理程序
  2. 检查发件人- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event并将其与您的UIImageView实例进行比较。
于 2011-05-28T09:23:42.580 回答