Domanda

Sto cercando di trascinare un UIImageView intorno allo schermo iphone nella mia app.

Al momento la funzionalità di trascinamento Ho installato è bene e trascinando l'immagine non spostarlo intorno allo schermo, il guaio è che non c'è bisogno di trascinare la visualizzazione dell'immagine per spostarla, è anche possibile trascinare un punto qualsiasi dello schermo ed esso si sposterà l'immagine. Sono nuovo di questa piattaforma, quindi non posso davvero pensare a cosa fare per risolvere questo problema. Il mio codice corrente per trascinare l'immagine è:

 - (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    startLocation = pt;


}
- (void) touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event {
    CGPoint pt = [[touches anyObject] locationInView:pig];
    CGRect frame = [pig frame];
    frame.origin.x += pt.x - startLocation.x;
    frame.origin.y += pt.y - startLocation.y;
    [pig setFrame: frame];
}

Qualsiasi aiuto apprezzato. Tra l'altro maiale è l'UIImageView. Inoltre ho notato che se ho impostato l'interazione con l'utente della Vista "maiale" e attivare l'immagine non è più in grado trascinare, ma quando non è impostato su abilitato E '.

È stato utile?

Soluzione

Si può cercare di creare una sottoclasse UIImageView e implementare touchesBegan: e touchesMoved: su di esso direttamente. Poi, nel InterfaceBuilder selezionare la sottoclasse per l'UIImageView.

  

alt text http://img.skitch.com/20090728-xetretcfubtcj7ujh1yc8165wj.jpg

Oh sì, ora è necessario impostare di nuovo l'interazione con l'utente ...

Altri suggerimenti

È necessario racchiuderla tra inizio / commit sequenze di animazione, almeno nel tuo thread Timer:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.02]  /* 0.02 seconds suration*/

/* move pig coordinates here */

[UIView commitAnimations];

Salvare il nuovo movimento in touchesMoved e poi elaborarli nel thread del timer.

È possibile utilizzare una categoria di UIView per rendere trascinabile e definire l'area trascinabili: https://github.com/rtoshiro/TXDragAndDrop

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top