Wie kann man das der header und die erste Zeile in einer UITableView
Im neuen Versuch zu machen, einige apps mit objective-c, also Ich habe eine Idee mit uitableview aber ich kann mir nicht vorstellen, wie bekomme ich diese.
Ich versuche, etwas zu tun, wie Sie in einem Arbeitsblatt, in dem Sie eine Feste Kopfzeile und die erste Spalte zu
So beim Blättern die uitableview vertikal die Kopfzeile sichtbar bleibt, an der Spitze der Tabelle und Zeilen ändern
Und schließlich, wenn Sie einen Bildlauf in horizontaler Richtung der ersten Zelle der Zeile sichtbar bleibt, und ändern Sie die Kopfzeile, je nachdem, wie Sie das scrollen der uitableview
Ich hoffe, Ihr könnte mir eine Idee, wie man dieses, denn ich kann mir nicht vorstellen, wie dies zu tun, auch ich habe nicht viel Erfahrung mit dieser Programmiersprache.
Dank!
InformationsquelleAutor Arturo Guzman | 2011-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
In einer nicht gruppierten Tabelle, Abschnitt Header "kleben" an der Spitze der Tabelle, wie die Tabelle scrollt. Können Sie eine benutzerdefinierte
UIView
(oder Unterklasse davon) für einen Abschnitt über die delegate-Methode–tableView:viewForHeaderInSection:
. Diese header-Ansicht erstellt werden könnte on-the-fly-Programm oder laden Sie aus einer NIB-Datei. So oder so, Sie können es haben, enthalten Sie, was Sie wollen, es auch update der app läuft (vorausgesetzt, Sie haben sich Zugang durch ivars oder Klassenvariablen zu den Ansichten, die in der header-Ansicht). Wenn Sie diesen Weg gehen, werden Sie wollen, seien Sie clever über die Zuteilung von Ressourcen, die aus dieser Sicht, so dass Sie nicht ständig in der Zuweisung von neuen Ressourcen! Diese delegate-Methode aufgerufen werden, Häufig, und auf alle, aber der erste Anruf, Sie könnten einfach wieder die zuvor erstellte (aber aktualisiert und, wenn notwendig) header anzeigen.InformationsquelleAutor Mark Granoff
UITableView
ist nicht darauf ausgelegt, dies zu tun, obwohl ich sicher bin, Sie könnten herausfinden, einige Weg schließlich.Mein Ansatz wäre die Verwendung eines festen
UIView
irgendeiner Art (evtl. eineUILabel
, etc) in einemUIViewController's
Spitze wie der Kopf/gesperrte Zelle, und fügen Sie dieUITableView
unter. Sie könnte nicht verwenden Sie dann eineUITableViewController
, hätte aber zur Umsetzung derdelegate
unddataSource
Methoden in IhremUIViewController
, und verwenden Sie eineUISwipeGestureRecognizer
zu Holen, die gesten aus dem tableView und Aktualisierung der anderen sichten.InformationsquelleAutor Paul Lynch
Ich habe dies getan, indem ein UIView, die imitiert die erste Zelle in meiner Tabelle. In meinem Fall verwende ich eine Unterklasse von UITableViewCell, aber das ist vielleicht nicht relevant. Normalerweise werden diese anzeigen ausgeblendet ist mit einem alpha-Wert von 0.
Wenn Sie view-controller ist das delegieren der UITableView dann werden auch die Delegierten für die geerbte UIScrollView. Also in deinem view-controller implementiert werden können scrollViewDidScroll. Wenn der scrollView ist contentOffset positiv ist, ich meine benutzerdefinierte Ansicht für alpha auf 1 (ich habe auch noch einige kleine Größe Optimierungen, um sicherzustellen, dass es ist ein perfect match), und wenn die contentOffset wieder zurück auf 0 oder negativ, ich änder das alpha auf 0 zurück.
InformationsquelleAutor Andy