Ich habe versucht, zwischen Bearbeitungszuständen in meinem UITableView zu unterscheiden.Unterscheiden zwischen Bearbeitungsstadien UITableView?
Ich brauche eine Methode nur im Bearbeitungsmodus nach dem Tippen auf die Schaltfläche Bearbeiten, so wenn Sie Ihre Zelle einschieben und Sie sehen die kleinen kreisförmigen Symbole löschen, aber nicht, wenn der Benutzer zum Löschen wischt.
Gibt es überhaupt eine Unterscheidung zwischen den beiden?
Danke.
EDIT:
Lösung dank Rodrigo
Sowohl jede Zelle und die gesamte tableview hat einen ‚Editieren‘ BOOL-Wert, so dass ich eine Schleife durch alle Zellen, und wenn mehr als eine von ihnen ist die Bearbeitung dann Wir wissen, dass die ganze Tabelle ist (der Benutzer tippte auf den Edit-Button), aber wenn nur einer editiert wird, dann wissen wir, dass der Benutzer eine Zelle gekippt hat und diese individuell bearbeitet hat. So kann ich jeden Bearbeitungszustand einzeln bearbeiten!
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
int i = 0;
//When editing loop through cells and hide status image so it doesn't block delete controls. Fade back in when done editing.
for (customGuestCell *cell in self.tableView.visibleCells)
{
if (cell.isEditing) {
i += 1;
}
}
if (i > 1)
{
for (customGuestCell *cell in self.tableView.visibleCells)
{
if (editing)
{
// loop through the visible cells and animate their imageViews
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.4];
cell.statusImg.alpha = 0;
[UIView commitAnimations];
}
}
}
else if (!editing)
{
for (customGuestCell *cell in self.tableView.visibleCells)
{
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.4];
cell.statusImg.alpha = 1.0;
[UIView commitAnimations];
}
}
}
IMHO das funktioniert nicht: Im regulären Bearbeitungsmodus (alle Zellen editierbar), dann die erste Zelle denkt, es ist in "swipe on delete mode". – obiwahn