Mam następujący kod, aby określić, czy dotyk znajduje się w widoku obrazu w mojej komórce tabeli. Jednak to nie działa. Porównałem te dwa z CGRectContainsPoint, ale to nie działa. Oto kod:Porównywanie położenia UITouch z prostokątem UIImageView
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
// Declare the touch and get it's location
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView:self];
if (CGRectContainsPoint(myImageView.frame, touchLocation))
{
NSLog(@"Tapped image view");
}
}
Dzięki za pomoc!
rozwijanie: 'CGPoint touchLocation = [touch locationInView: self]; if (CGRectContainsPoint (myImageView.frame, touchLocation)) 'działa tylko wtedy, gdy' myImageView' jest bezpośrednim podglądem 'self' –
rozwijającym się na komentarz Joao, możesz uzyskać ramkę subview w stosunku do superview (lub dowolnego widoku) za pomocą' CGRect frameRelativeToView = [myImageView convertRect: myImageView.bounds toView: self] ' – chazzwozzer