2009-07-10 11 views
0

Touch kann self angeben, um die Touch-Position in einem eigenen Koordinatensystem zu erhalten, aber wie bekomme ich es von einem anderen? Sprechen Sie ein anderes UIview-Koordinatensystem?Wie bekomme ich den Touch-Standort einer anderen Ansicht?

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{ 
    [UIView beginAnimations:@"box" context:nil]; 
    [UIView setAnimationDuration:1]; 
    [UIView setAnimationBeginsFromCurrentState:YES]; 
    UITouch *touch = [touches anyObject]; 
    box.center = [touch locationInView:self]; 
    [UIView commitAnimations]; 
} 

Könnte ich aber im Namen einer anderen UIview wo 'selbst' ist?

Antwort

5

"Diese Methode gibt den aktuellen Standort eines UITouch-Objekts im Koordinatensystem der angegebenen Ansicht zurück", also würde ich ja sagen, Sie können eine andere Ansicht übergeben. Um sicher zu gehen, könnten Sie mit einem Beispielprojekt versuchen, in dem Sie zwei Ansichten überlappen, und NSLog die Ergebnisse von zwei Aufrufen an beide Ansichten.

+0

Ja, das funktioniert gut. –

Verwandte Themen