Ich bin mit Problem konfrontiert mit UITableView
in Swift. Tabelle enthält Liedtexte. Jede Zelle ist eine lyrische Klasse. Ich weiß, auf welchen Index ich mich konzentrieren muss, also zeige ich den aktuellen Text in Rot und den Rest in Schwarz.UITableView auf scrollToRow springen?
Alles in Ordnung so weit. Aber wenn Sie scrollToRow
verwenden, funktioniert es gut, bevor die Tabelle beginnt, zu Songtexten außerhalb der Ansicht zu scrollen. Sobald der UITableView
beginnt, außerhalb der Ansicht zu scrollen, beginnt er zu springen.
Gibt es eine Idee, wie man es problemlos in die aktuelle Zelle scrollen kann, ohne zu springen?
Hier ist, wie ich die Tabelle auf die gewünschte Lyrik gehen machen:
let lcCell = IndexPath(row: (vc_lyrics.sharedInstance().lyric_time[seconds]?.index)!, section: 0)
DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
vc_lyrics.sharedInstance().tableView.scrollToRow(at: lcCell, at: .none , animated: false)
vc_lyrics.sharedInstance().tableView!.reloadData()
}
Oder wenn ich durch Scrollen der Scroll der Tabelle, die die lyrische Zelle in der Mitte zu halten, nicht seine Delegaten scrollToRow
.
Rufen Sie 'reloadData' nicht sofort nach dem Aufruf von' scrollToRow' auf. Das verursacht das Bildlaufproblem. – rmaddy
@maddy danke, aber seine Lyrics-Sync-Tabelle muss ich die Tabellendaten neu laden, um die Liedtexte Farben in x Sekunden zu ändern – Jack