In einer App, an der ich arbeite, habe ich eine einfache UITableView-Ansicht, die einen Abschnitt enthalten kann, der null Zeilen enthält. Ich möchte in der Lage sein, mit scrollToRowAtIndexPath zu diesem Abschnitt zu scrollen: atScrollPosition: animiert: aber ich erhalte einen Fehler, wenn ich versuche, zu diesem Abschnitt zu scrollen, da keine untergeordneten Zeilen vorhanden sind.Wie scrolle ich ein UITableView zu einem Abschnitt, der keine Zeilen enthält?
Apples Kalenderanwendung ist in der Lage, dies zu tun, wenn Sie Ihren Kalender in der Listenansicht betrachten und für Ihren heutigen Tag keine Ereignisse in Ihrem Kalender vorhanden sind, wird heute ein leerer Abschnitt eingefügt und Sie können mit dem Heute zu diesem Kalender blättern Schaltfläche in der Symbolleiste am unteren Bildschirmrand. Soweit ich sagen kann Apple eine benutzerdefinierte UITableView verwenden, oder sie verwenden eine private API ...
Die einzige Problemumgehung, die ich vorstellen kann, ist eine leere UITableCell in das 0 Pixel hoch einfügen und scrollen zu Das. Aber es ist mein Verständnis, dass Zellen mit unterschiedlichen Höhen wirklich schlecht für die Scroll-Performance sind. Trotzdem werde ich es trotzdem versuchen, vielleicht wird der Performance-Hit nicht so schlecht sein.
aktualisiert
Da es keine Lösung für dieses Problem scheint zu sein, ich habe einen Bug-Report mit Apfel abgelegt. Wenn dies auch Sie betroffen sind, ein Duplikat rdar Datei:. // Problem/6263339 (Open Radar link), wenn Sie dies diese schneller behoben zu bekommen
Update # 2
ich eine anständige Abhilfe für dieses Problem haben nehmen, einen Blick auf meine Antwort unten.
[tableview scrollToRowAtIndexPath: [NSIndexPath indexPathForRow: 0 insection: section] atScrollPosition: UITableViewScrollPositionTop animiert: JA]; ist einfacher. – Ajumal
@Aju Ihre Methode kann nicht zum Abschnittskopf blättern –