Wie wähle ich programmgesteuert eine UITableView
Zeile aus, damit
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
wird hingerichtet? selectRowAtIndexPath
hebt nur die Zeile hervor.
iphone
objective-c
cocoa-touch
uitableview
4thSpace
quelle
quelle
Antworten:
Aus der Referenzdokumentation:
Was ich tun würde ist:
Und dann, von wo aus Sie selectRowAtIndexPath aufrufen wollten, rufen Sie stattdessen doSomethingWithRowAtIndexPath auf. Darüber hinaus können Sie auch selectRowAtIndexPath aufrufen, wenn das UI-Feedback erfolgen soll.
quelle
Wie Jaanus sagte:
Sie müssen die
delegate
Methode also nur selbst aufrufen .Beispielsweise:
Swift 3 Version:
ObjectiveC-Version:
Swift 2.3 Version:
quelle
SelectRowAtIndexPath von UITableView: animiert: scrollPosition: sollte den Trick machen.
UITableViewScrollPositionNone
Übergeben Sie einfach scrollPosition und der Benutzer sieht keine Bewegung.Sie sollten die Aktion auch manuell ausführen können:
[theTableView.delegate tableView:theTableView didSelectRowAtIndexPath:indexPath]
Nach Ihnen
selectRowAtIndexPath:animated:scrollPosition:
geschieht das Highlight ebenso wie die zugehörige Logik.quelle
Wenn Sie eine Zeile auswählen möchten, hilft dies Ihnen
Dadurch wird auch die Zeile hervorgehoben. Dann delegieren
quelle
Schnelle 3/4/5 Lösung
Wählen Sie Zeile
Zeile abwählen
quelle
Es gibt zwei verschiedene Methoden für iPad- und iPhone-Plattformen, daher müssen Sie beide implementieren:
Übergang.
quelle
Verwenden Sie diese Kategorie, um eine Tabellenzeile auszuwählen und nach einer Verzögerung einen bestimmten Abschnitt auszuführen.
Nennen Sie dies innerhalb Ihrer
viewDidAppear
Methode:quelle