UIButtons gruppieren und durch-iterieren - Beste Vorgehensweise?

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

  • UIButtons gruppieren und durch-iterieren - Beste Vorgehensweise?

    Hallo.

    Ich brauche für meine iOS App 6 Gruppen an UIButtons. Es sind pro Gruppe immer zwischen 3 und 7 Buttons. Die Anzahl der Buttons ändert sich - je nachdem was der Nutzer in den Einstellungen eingibt.
    Die Buttons haben unterschiedliche Beschriftungen, welche aus einer Liste kommen. Durch diese Liste möchte ich durch-iterieren und pro Element in der Liste einen Button erzeugen.

    Wie gehe ich dabei am Besten vor? Soll ich die Maximalanzahl der Buttons einbauen und dann die nicht-benötigten einfach so einfärben/bearbeiten dass man die Buttons nicht sieht und dass sie nichts machen?
    Soll ich die Buttons lieber programmatisch erzeugen? Aber wie kann ich sie dann gruppieren? Ist es einfach ein for-Loop im for-Loop oder gibt es da bessere/mehr iOS/Swift like Ideen?

    Vielen Dank schonmal für Eure Hilfe!
  • Danke für den Tipp. So ungefähr habe ich mir das auch vorgestellt. Ich werde also mal in die Richtung experimentieren.

    Allerdings habe ich vorhin noch eine Frage vergessen.

    Wie gehe ich denn am Besten bei der Ausrichtung vor? Kann ich sowas wie einen Container bestimmen in dem die Buttons auftauchen. Je nachdem ob man auf nem iPad oder iPhone ist müsste man das ganze ja etwas schmäler/größer/weiter/dicker machen. Gibt es denn so was wie einen Container? Ein paar einfache Stichpunkte reichen schon, ich kann mich dann selbst dazu informieren. Ich bräuchte eben nur einen Anhalts-/Anfangspunkt.
  • Das mit UIStackView sah erstmal ganz interessant aus, aber es wäre noch besser, wenn es einen leeren Container gäbe. Das Problem mit UIStackView ist ja, dass ich erstmal alle Buttons "hinmalen" müsste um die dann zu einem StackView zusammen zu fassen. Wenn es aber immer eine unterschiedliche Anzahl an Buttons gibt, dann klappt das ja nicht. Und wenn ich alles programmatisch erstelle, dann müsste ich zu jedem einzelnen Button die X/Y Koordinaten manuell machen. Hört sich sehr umständlich an. Und Vor allem, wie skalieren denn programmatisch erstellte Elemente mit den verschiedenen Displaygrößen? Wenn ich das auch noch programmatisch lösen muss wirds etwas chaotisch, oder?

    Am liebsten wäre mir ein dickter Container, den ich im IB so rumschieben und vergrößern kann bis er passt. Dann pass ich ihn für alle Displays an. Und dann baue ich programmatisch dort einfach die Buttons rein. Aber das scheint so nicht möglich zu sein oder?

    Vielleicht wäre es doch besser, die Buttons immer in der Maximalanzahl "hinzumalen" und dann einfach die nicht benötigen programmatisch auszublenden?