2010-11-21 10 views
0

Ich weiß, diese Art von vor (iPhone "touchesBegan" and "touchesMoved" message ... do not move to centre of touch) beantwortet wurde, aber ich bin sehr neu auf iPhone Entwicklung so nicht verstehen, die Antwort.Hilf mir verstehen iPhone touchesBegan Implementierung und Ziehen eines UIView

Wesentlichen, was ich will, ist zu tun, um eine UIImageView haben, die auf Berührungen reagiert es auf dem Bildschirm zu bewegen. Die Probe von Apple hat die Ansicht, dass, wenn es Berührungen berührt, das Zentrum zur Berührung bewegt wird, und dann die Ansicht verschiebt.

Was Ich mag würde, ist für das Bild wie zu schwenken, wenn Sie die UIImagePicker verwenden. Das ausgewählte Bild rastet nicht an der Berührung ein, sondern bewegt sich stattdessen von der Berührung.

Jede Hilfe würde am meisten geschätzt werden.

Antwort

3

Zuerst müssen Sie den Punkt ermitteln, an dem Sie den Bildschirm zum ersten Mal berührt haben. Dann erhält man für jede 'Berührung bewegt' die Delta-X- und Y-Koordinaten für den neuen Punkt und verschiebe das Bild um diesen Betrag.

// This is untested code and I can't even be sure if it compiles 
// Hopefully it is verbose enough to help you with that you are 
// Trying to do. If not I can update once I get back infront of 
// a Mac. 
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { 
    UITouch *touch = [touches anyObject]; 
    lastPoint = [touch locationInView:self.view]; 
    CGPoint delta = currentPoint - lastPoint; 

    currentViewLoc = imageView.center; 

    imageView.center.x = currentViewLoc.x - delta.x; 
    imageView.center.y = currentViewLoc.y - delta.y; 

    currentPoint = lastPoint; 
} 

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

so etwas sowieso. Ich hoffe, du verstehst was ich versuche zu sagen.

+0

Ich schätze die Zeit genommen, zu beantworten, aber als Anfänger wirklich, wäre es sehr nützlich sein, um zu sehen, wie diese tatsächlich verwendet wird? – Paul

+0

aktualisiert den Pseudocode zu weniger Pseudocode. Ich hoffe es hilft – Svenito

Verwandte Themen