Ecco un video che ciò accada:Perché quando cambio l'immagine di UIImageView mentre esegui il panning della cella, l'intera vista viene resettata per un secondo?
In sostanza, se cambio la proprietà immagine del UIImageView (X) mentre sto panning che porta tutti i controlli nella visualizzazione di nuovo al loro originale , posizione non aperta. (Sono tutti inseriti in un UIView in modo da poter "spostare la cella", mentre i UIImageViews sono al di fuori della vista e indipendente.)
Se non cambiare l'immagine:
Per la registrazione, cambio l'immagine quando l'utente esegue una panoramica di una certa quantità, credo di 80 punti.
Ecco il codice:
// Only allow the cell to be moved 100 pixels left or right
if (xPos <= 100 && xPos >= -100) {
// Move our cell to the xPos we defined
CGRect slidingViewFrame = self.slidingView.frame;
slidingViewFrame.origin = CGPointMake(xPos - 100, 0);
self.slidingView.frame = slidingViewFrame;
if (xPos >= 80) {
if (_removeIconIsActive == NO) {
// Change remove icon to a red, active state and animate the change
self.removeIconImageView.image = [UIImage imageNamed:@"remove-icon-active.png"];
_removeIconIsActive = YES;
}
CGRect removeIconFrame = self.removeIconImageView.frame;
removeIconFrame.origin = CGPointMake(40, 35);
self.removeIconImageView.frame = removeIconFrame;
}
}
I punti di vista sono istituiti nello storyboard, ma il movimento e la manipolazione è tutto fatto in codice.
Ecco il layout storyboard:
Ed ecco il metodo integrale che gestisce il panning delle cellule: https://gist.github.com/anonymous/c51c7cb2997c89094f08
Ti suggerisco di incollare altro codice. – sunkehappy
Ho aggiunto il layout dello storyboard e tutto il codice della cella panoramica, non so che altro fornire. –
Suggerisco di inserire il tuo codice non confidenziale in un nuovo progetto e di inserirlo in GitHub. Attraverso il codice incollato non riesco a trovare il problema e penso che il codice non sia completo. – sunkehappy