Sto tentando di sostituire il comportamento della modalità di modifica predefinita delle celle.UITableViewCell Modifica personalizzata vista
Non desidero visualizzare il cerchio rosso con la vista accessoria linea sinistra.
All'accesso alla modalità di modifica, ho bisogno di spostare la vista del contenuto a sinistra & visualizzare il mio pulsante di cancellazione.
Quello che ho finora (personalizzato UITableViewCell) sostituisce:
-(void) setEditing:(BOOL)editing animated:(BOOL)animated
{
/* don't call super */
// [super setEditing:editing animated:animated];
_isEditing = editing;
CGFloat newContentViewX = 0.0f;
UIColor *newDeleteButtonColor = [UIColor clearColor];
if (_isEditing)
{
newContentViewX = -40.0f;
newDeleteButtonColor = [UIColor redColor];
}
if (animated)
{
[UIView animateWithDuration:0.5f
delay:0.0f
options:UIViewAnimationOptionCurveEaseInOut
animations:^
{
self.contentView.x = newContentViewX; //change frame.origin.x
_deleteButton.backgroundColor = newDeleteButtonColor;
}
completion:nil];
}
else
{
self.contentView.x = newContentViewX; //change frame.origin.x
_deleteButton.backgroundColor = newDeleteButtonColor;
}
}
-(BOOL) editing
{
return _isEditing;
}
& questo è il risultato:
Il codice di cui sopra funziona benissimo! Fino a quando non inizia a scorrere & la visualizzazione del contenuto viene reimpostata. torna alla prima immagine. Il flag di modifica non mantiene le modifiche al frame della viewview.
Ho aggiunto questa linea:
[cell setEditing:_tableView.isEditing animated:NO];
in cellForRowAtIndexPath & anche se sta chiamando modalità di modifica & impostazione correttamente il mio contentView è ancora nella posizione originaria & non aggiornato
breve video di youtube problema che spiega : Youtube link
Qualcun altro ha avuto questo problema?
Si dovrebbe ottenere +1 solo per fare un video di YouTube. Molto facile da capire ora. –