TableView: feststehender Bereich für z.B. Überschrift

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • TableView: feststehender Bereich für z.B. Überschrift

    Hi!

    Ich möchte einen feststehenden Bereich oberhalb der eigentlichen Tabelle. Ähnlich einer Überschrift für z.b. Spalten.

    Habe schon ein UIView an den oberen Rand des Tableviews gepackt, der scrollt dann aber mit der Tabelle mit.

    Habt ihr da wieder Tipps für mich?

    Danke!
  • TableView: feststehender Bereich für z.B. Überschrift

    Du must deine tableview einfach in ein uiview einbetten. Dazu erzeugst du einen einfachen uiviewcontroller und fügst diesem ein tableview hinzu. Dann erzeugst du ein IBOutlet tableview und implementierst die tableview Datasource und Delegate Methoden in dem viewcontroller.

    Gruß

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • TableView: feststehender Bereich für z.B. Überschrift

    Thallius schrieb:

    Du must deine tableview einfach in ein uiview einbetten. Dazu erzeugst du einen einfachen uiviewcontroller und fügst diesem ein tableview hinzu. Dann erzeugst du ein IBOutlet tableview und implementierst die tableview Datasource und Delegate Methoden in dem viewcontroller.

    Gruß

    Claus

    Das wäre auch eine Möglichkeit. Dann fallen aber StaticCells weg
  • Variante mit UIViewController Containtment:
    Einen ContainerVC, der einen TableVC und einen "HeaderVC" in sich hat.

    HeaderVV.view hat eine feste Höhe und Constraints Constraints nach oben, links und rechts zur Superview.
    TableVC.view erhält Constraints nach oben zu "nearest Neighbour" (HeaderVC.view) nach unten und zur Seite zur Superview.

    So kannst du auch weiterhin Static Cells verwenden und hast dennoch eine feste View darüber die nicht in der TableView liegt, und somit beim Scrollen nicht beachtet werden muss.
    Zudem in 1-2 Minuten im IB fertig zusammengeklickt.

    P.S. an sich kannst dir den HeaderVC auch sparen und direkt die benötigte View mit in den ContainerVC packen.
    Ein extra Controller sollte dafür ja nicht notwendig sein. ;)
  • MCDan schrieb:

    Alternativ müsste man den TableViewController als ChildViewController in dem ViewController mit dem HeaderView verwenden.

    Im Prinzip müsste der Tableviewcontroller auch mit einem Tableview als Subview zurechtkommen. Wahrscheinlich muss man dazu das Ding aus dem Storyboard laden und in viewDidLoad die Viewhierarchie umbauen.
    „Meine Komplikation hatte eine Komplikation.“
  • MCDan schrieb:

    Hat Apple mittlerweile das Problem gelöst, dass "Pull to refresh" nur mit einem TableViewController funktioniert?

    Alternativ müsste man den TableViewController als ChildViewController in dem ViewController mit dem HeaderView verwenden.


    Nö, dafür müsste man dann einen TableViewController verwenden. Spricht m.M. auch nichts gegen, außer das man mit ContainerView's arbeiten muss.