View prozentual füllen

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

  • View prozentual füllen

    Hallo,

    Ich habe etwas ziemlich besonderes vor und zwar möchte ich eine View die aussieht wie ein Balken prozentual mit Farbe füllen. Ob der Balken zu 100%, 77%, 35% oder sonst wie viel gefüllt ist möchte ich in Abhängigkeit zu einem Zahlenwert machen.

    Sagen wir es gibt 100 Blumen und jedes mal wenn ein User auf den Button kaufen klickt wird der Balken natürlich mehr und mehr gefüllt. Dabei ganz wichtig: Der Balken ist erst sichtbar nachdem man auf den Button geklickt hat während der Button dann verschwindet.

    Jetzt die Frage, wie sage ich der View zu wie viel Prozent sie sich füllen soll ? Also klar, mit dem Zahlenwert. Doch wie setze ich diesen bei Swift in Prozent um ? Ich habe mit so etwas leider noch keine Erfahrung weshalb ich mir hier erstmal ein paar Tipps holen wollte :D
  • Wenn Du keinen Custom View mit eigener drawRect:-Methode verwenden möchtest, dann kannst Du auch 2 UIViews im Interface Builder verwenden. Den 2. View packst Du einfach als Subview in den 1. und verwendest entsprechende Constraints. Wenn die Anzeige jetzt z.B. von unten nach oben dem Prozentwert entsprechen soll, dann verwendest Du einen Equal Heigth to Superview Constraint. Über den Multiplier dieses Constraints kannst Du dann die prozentuale "Füllung" beeinflussen.

    Du kannst diesen Constraint per IBOutlet verknüpfen und dann per Code den Multiplier ändern. Somit könntest Du die Änderung des Prozentwertes bzw. der "Füllung" sogar per Animation verändern.
  • MCDan schrieb:

    Du kannst diesen Constraint per IBOutlet verknüpfen und dann per Code den Multiplier ändern. Somit könntest Du die Änderung des Prozentwertes bzw. der "Füllung" sogar per Animation verändern.
    Das ganze hat so erstmal schon mal super funktioniert doch was meinst du mit Animation ? Quasi das ich sehen kann wie sich die subView bis zu einem gewissen Punkt füllt ?

    Wenn ja würde ich gerne wissen wie das funktioniert :D ?


    EDIT: Ich habe auch das Constant property verwendet ;)