Größe einer Custom TableViewCell auf eine prozentuale Größe setzen

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

  • Größe einer Custom TableViewCell auf eine prozentuale Größe setzen

    Hallo zusammen,

    ich habe mir vorgenommen, im neuen Jahr mit der iOS-Programmierung loszulegen, und habe direkt schon zur Szene meines ersten nicht-Tutorial Lernprojektes eine Frage.. :/
    Mein Ziel ist es, im Hauptmenü der App zwei gleich große Container zu zeigen, welche zur weiteren Navigation dienen. Diese sind sozusagen eingebettet zwischen einer NavigationBar und einem Footer und sollten sich den verbleibenden Platz zu jeweils gleichen Teilen teilen.
    Ich habe mir dazu die Object Library durchgesehen, und würde dazu tendieren, eine TableView mit eben immer genau zwei Items zu verwenden. Wäre dieser Ansatz in Ordnung, oder gibt es "bessere" Container? Und ist es möglich, die Größe der TableViewCells ähnlich den Constraints der UI Elementen auf die gewünschten 50% zu setzen?

    Vielen Dank im Voraus :)
  • wenn du nur 2 "Container" hast und diese immer zu sehen sind (also nicht weg gescrollt werden können) und du nicht vorhast daraus mal 3 oder 4 zu machen, dann ist eine Table View unnötig. dann kannst du auch einfach 2 UIViews nehmen und die entsprechend befüllen, ggf. auch einfach 2 UIButtons, kommt halt drauf an was du genau machen willst

    die Aufteilung kannst du dann über AutoLayout lösen, oberer Container startet Oben und endet bei Hälfte ViewController View, unterer Container startet bei Hälfte Viewcontroller View (oder unterkante oberer Container) und endet unterkante ViewController View
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • Genau, die beiden wären in diesem Screen immer zu sehen und scrollen könnte man nicht. UIViews würden mir sogar etwas mehr Freiheit bei der Gestaltung geben, wenn ich das richtig verstehe :)

    Wenn ich dann einen ViewController mit einer Variable "img" anlege, würde ich diesen mit einem Outlet in meinem RootController deklarieren und könnte dann die Daten wie folgt setzen, oder?

    @IBOutlet weak var view1: UIView!

    view1.img = neuesBild

    (Ich bitte um Nachsicht, ich bin absoluter Neuling und noch nicht so weit mit den diversen Lehrtexten..)

    In jedem Fall vielen Dank nussratte für deine schnelle Hilfe! :)
  • sofern deine "view1" (schlechter Name) eine property "img" (auch kein wirklich guter Name) hat schon.

    zur Freiheit bei der Gestaltung:
    das ist eig egal, ne TableViewCell ist letztendlich auch nur eine UIView
    aber wenn du wie gesagt nur 2 "Optionen" hast dann ist ein TableView halt unnötig, dann sparst du dir den ganzen UITableViewDatasource und UITableViewDelegate Krams
    Ich weiß nicht immer wovon ich rede aber ich weiß das ich Recht habe. :saint:
  • Im ‚Produktiv-Code‘ würde ich aussagekräftigere Namen (ich denke noch über die allgemeine Struktur nach, aber das wird wahrscheinlich so etwas wie ‚collectionView’ oder ‚catalogView’ werden) verwenden, das war nur als grundsätzliche Überlegung hier im Forum :)

    Nochmals vielen Dank, das hilft mir in jedem Fall weiter.
  • nussratte schrieb:

    die Aufteilung kannst du dann über AutoLayout lösen, oberer Container startet Oben und endet bei Hälfte ViewController View, unterer Container startet bei Hälfte Viewcontroller View (oder unterkante oberer Container) und endet unterkante ViewController View
    Ich würde es etwas anders machen.
    • Die obere Kante des oberen Containers oben fixieren
    • Die untere Kante des unteren Containers unten fixieren.
    • Zwischen der unteren Kante des oberen und der oberen Kante des unteren Containers einen festen Abstand festlegen (>= 0).
    • Zwischen oberen und unteren Container festlegen, dass sie die gleiche Höhe haben sollen.
    So bleiben die beiden Container immer gleich hoch, egal auf welchem Gerät und ob Portait oder Landscape.