Ich arbeite an einer iOS-App mit der navigationsbasierten CoreData-Vorlage. Ich möchte eine Zeile nach dem Einfügen in die Tabellenansicht auswählen und zu einer sichtbaren Zeile scrollen . Im Idealfall möchte ich es auswählen, abwählen und erneut auswählen, um eine Art blinkenden Effekt zu erhalten.
Da ich die Methode verwende, die die Vorlage vorsieht, nämlich:
%Vor% Ich bin ein wenig verwirrt und weiß nicht, wo ich diesen Auswahlcode einfügen soll.
Wenn ich ein
[tableView selectRowAtIndexPath:<#(NSIndexPath *)#> animated:<#(BOOL)#> scrollPosition:<#(UITableViewScrollPosition)#>]
setze
in
- (void)controllerDidChangeContent:(NSFetchedResultsController *)controller
,
es wählt die Zeile aus, hebt sie aber sofort wieder auf und das Scrollen verhält sich auch nicht so, wie es sollte.
Ich habe ein ähnliches Problem gelöst. Ich habe das Element am Anfang der Tabelle eingefügt und wollte es direkt danach auswählen.
Schritt 1. - Erstellen Sie einen Schalter, um den Status beizubehalten, wenn er die erste Zeile auswählen soll
%Vor%Schritt 2. - Schalten Sie beim Einfügen
auf JA %Vor%Schritt 3. - Erstellen Sie eine Methode zur Auswahl der ersten Zeile
%Vor%Schritt 4. - Rufen Sie die Methode auf, um die Zeile direkt nach dem Aktualisieren der Tabelle auszuwählen
%Vor%Das sind alle Leute .. Wenn Sie eine andere Zeile auswählen möchten, speichern Sie newIndexPath auch im Klassenparameter. Das ist alles. Ich hoffe es hilft dir. Cia!
Meistens gleiche Antwort wie oben, aber mit korrigierter Platzierung des Aufrufs von scrollToRowAtIndexPath
in der Methode controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:
Ändere diesen Abschnitt:
Wenn der FRC-Code des Kessels verwendet wird, kann nicht zum neu eingefügten Index gescrollt werden, bis die Aktualisierung der Tabelle abgeschlossen ist
Mach das in der Methode - (void)controllerDidChangeContent:
und fügen Sie Methode von UIScrollViewDelegate hinzu:
%Vor%Denken Sie daran, newInsertedIndex-ivar
hinzuzufügenDas alles hat nicht für mich funktioniert. Was ich getan habe, war:
_newInstance
_newInstance = nil;
in controllerDidChangeObject
Ich wähle die Zeile:
Tags und Links uitableview ios core-data