Ich habe benutzerdefinierte UITableViewCell aus Code eingerichtet. In meiner Zelle habe ich einen "UITableViewCellAccessoryDisclosingIndicator". Wenn die Zelle hervorgehoben wird, wird sie blau und das Zubehörelement wird weiß. Das ist alles gut.cell.accessoryType verschwindet Problem
Wenn jedoch eine neue Ansicht angetippt wird, verschwindet das Zubehörelement. Wenn ich zurück zur Tabellenansicht gehe, ist der UITableViewCellAccessoryDisclosureIndicator nicht mehr vorhanden und wenn ich den Finger auf dieselbe Zelle klicke/halte, wird er nicht mehr markiert.
Es funktionierte letzte Woche gut, aber ich kann einfach nicht herausfinden, was dieses Problem plötzlich ausgelöst hat. Ich kann nichts sehen, wenn ich ein "hg diff" mache, also habe ich gehofft, dass jemand mich zu einer möglichen Lösung führen würde. Wenn Sie einen bestimmten Code benötigen, lassen Sie es mich wissen.
Ich habe Atebits Fast Scrolling Beispielcode verwendet und eine Menge Anpassung mit ihm gemacht, aber die Grundlagen (und hervorgehoben BOOL) ist gleich geblieben.
PS. In meinem Code habe ich auch bemerkt, dass die UITableViewCell nicht hervorgehoben bleibt, wenn die neue Ansicht gedrückt wird. Ich habe bemerkt, dass Apples eigenen Beispiel-Code, die Zelle markiert ist, wenn die neue Ansicht gedrückt wird, und zurück in die Tabellenansicht die Zelle bleibt hervorgehoben, bis die Tabellenansicht den ganzen Weg zurück an ihren Platz geschoben wird. Irgendwelche Ideen hier? Danke.
Ich fügte hinzu: - (void) viewWillAppear: (BOOL) animiert { NSIndexPath * selectedRowIndexPath = [self.tableView indexPathForSelectedRow]; if (selectedRowIndexPath! = Nil) { [self.tableView deselectRowAtIndexPath: selectedRowIndexPath animiert: YES]; } } Jetzt ist der DisclosureIndicator etwas in Ordnung. Es wird zurückgegeben, wenn die Zellenauswahl aufgehoben oder die Tabellenansicht verschoben wird. Die Zeile wird jedoch immer noch abgewählt, wenn die neue Ansicht gedrückt wird. Ich möchte die Wirkung von "welche Zelle wurde besucht" bekommen, damit die Zelle hervorgehoben bleibt. Auch wenn die Ansicht gedrückt wird, verschwindet das Offenlegungselement während der Animation immer noch :( – runmad
Ich bin mir nicht sicher, ob Sie wirklich Aufrufe von deselectRowAtIndexPath hinzufügen sollten: animated :, aber anstatt sie zu entfernen - haben Sie diese Methode schon irgendwo aufgerufen ? Wenn nicht, können wir in Ihrer App relevanten Code sehen (wie Ihre Implementierungen für tableView: didSelectRowAtIndexPath: und andere navigationsrelevante Delegate-Methoden)? – Tim