Point qui n'est pas dans Rect mais CGRectContainsPoint dit oui

Si j'ai une UIImageView et que vous voulez savoir si un utilisateur a appuyé sur l'image. Dans touchesBegan, je ne le suit, mais toujours finir dans la première condamnation. La fenêtre est en mode portrait et l'image est en bas. Je peux appuyez sur dans le coin supérieur droit de la fenêtre et encore dans la première condition, qui semble très incorrect.

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

if(CGRectContainsPoint(myimage.frame, location) == 0){
//always end up here
}
else
{ //user didn't tap inside image}

et les valeurs sont:

location: x=303,y=102
frame: origin=(x=210,y=394) size=(width=90, height=15)

Des suggestions?

OriginalL'auteur 4thSpace | 2009-06-11