Länge des Labels soll bei unterschiedlich großen Zahlen gleich groß bleiben

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

  • Länge des Labels soll bei unterschiedlich großen Zahlen gleich groß bleiben

    Servus Zusammen,

    ich habe heute eine Frage zum erhalt der Länge eines Labels.
    Programmiert habe ich einen einfachen Zähler, durch drücken eines Buttons zählt dieser hoch. Quasi ein Klicker mit 1,2,3,4,5,6, usw., welcher die Werte über ein Label ausgibt.
    Zur Optik möchte ich nun erreichen, dass das Label immer gleich lang ist, also immer gleich viele Zahlen enthält.
    Z.B. es wurde 130 mal gedrückt = 130.
    Es wurde nur 8 mal gedrückt = 008.
    Der Wert wird als INT gespeichert und somit beim Ausgeben immer auf die minimale Länge gekürzt.




    Ich bin mir sicher dass es hierfür eine recht einfach Lösung gibt, leider stehe ich nur dummerweise wie so oft auf dem Schlauch :whistling: +

    Vielen Dank und liebe Grüße,

    Ferdinand :thumbup:
  • Super das hat geklappt, vielen Dank! :thumbsup:

    Denkst du es gibt zum Thema Design eine schöne Lösung für mein Problem?
    Wenn ich die zusätzlichen Nullen am Anfang weg lasse, springt meine Zahl bei einem Wert von 1234 z.B. von einer einzelnen, auf eine zehner, dann auf eine Hunderter und dann auf eine Tausender wenn ich diese von null auf hochzählen lasse.
    Wenn ich jetzt jedoch eine Mindestlänge von vier Zeichen festlege, sieht das ganze ein wenig komisch aus bei z.B. 0003.

    Hier stößt meine Kreativität erneut an Ihre grenzen - :whistling:

    Liebe Grüße,
    Ferdinand
  • Ferdinand schrieb:

    Denkst du es gibt zum Thema Design eine schöne Lösung für mein Problem?

    Wenn ich die zusätzlichen Nullen am Anfang weg lasse, springt meine Zahl bei einem Wert von 1234 z.B. von einer einzelnen, auf eine zehner, dann auf eine Hunderter und dann auf eine Tausender wenn ich diese von null auf hochzählen lasse.
    Wenn ich jetzt jedoch eine Mindestlänge von vier Zeichen festlege, sieht das ganze ein wenig komisch aus bei z.B. 0003.
    Ich glaube, hier gibt es ein Missverständnis:
    • Falls Du die im Label dargestellte Zahl immer in der gleichen Länge (z. B. vierstellig) haben willst, ist wie geschrieben NSNumberFormatter Dein Freund.
    • Solltest Du jedoch wollen, dass das Label - welches sich standardmäßig an den Inhalt anpasst - immer die gleiche Breite aufweist, würde ich einmal in Richtung eines "width"-Layout-Constraints schauen (Thema "Autolayout"). Damit kannst Du im Code oder IB eine Breite fest vorgeben. Oder auch eine Mindestbreite, um für lange Titel gewappnet zu sein.
    Deine Beschreibung lässt beide Interpretationen zu ("Zur Optik möchte ich nun erreichen, dass das Label immer gleich lang ist, also immer gleich viele Zahlen enthält."). Oder möchtest Du etwas ganz anderes erreichen?

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von MyMattes () aus folgendem Grund: Werde ich "Constraints" irgendwann im 1. Versuch richtig schreiben...?

  • Nein du hast schon recht, ich hab mich bloß ein wenig kryptisch ausgedrückt :S

    Ich habe das Label jetzt bei meinem Counter, bei welchem man bis 1000 zählen kann mithilfe der NSNumberFormatter Funktion auf vier Zahlen fixiert.
    Anschließend den Counter bei dem man nur auf zehn zählen kann wieder mithilfe der NSNumberFormatter Funktion auf zwei Zeichen fixiert.

    Vielen Dank,
    Ferdinand :thumbup: