Custom ProgressView

  • Custom ProgressView

    Hallo,
    mir ist der UIProgressView irgendwie zu mickrig und ich möchte außerdem mehr Möglichkeiten so einen ProgressView anzupassen. Bei CocoaPods habe ich zwar das eine oder andere ProgressView gefunden, doch irgendwie hat mich keines so richtig angesprochen, also einfach mal selber versuchen, kann ja nicht so schwer sein...

    Ist es auch nicht, nur stellen sich mir 2 Fragen, die mir hoffentlich irgendwer von euch hier beantworten kann:

    1)Ich zeichne es im Moment mit 2 bezierPathWithRoundedRect in drawRect jetzt ist es auf einem alten iPhone 4 (ja, es gibt Leute die noch so was verwenden) etwas langsam; wenn ich einen TableView damit befühle und schnell scrolle kommt es zu kleinen Rucklern. Gibt es irgendeinen Trick wie man hier Performance gewinnen kann? Beim TableView scrollen wird halt leider immer wieder das selbe gezeichnet :(

    2)Wie kann ich die Schrift an den Hintergrund anpassen. Ich möchte das circa so machen, wie es in meinem Bild mit einem Grafikprogramm simuliert ist. Die eine Hälfte Dunkel die andere Hell. Gibt's da irgendwas was mir in Bezug auf diese Thematik helfen könnte?

    Danke!
    Freu mich auf Antworten :)

    [Blockierte Grafik: http://s7.directupload.net/images/131219/h5m333xv.png]
  • joejohannesjoe schrieb:

    Danke, für deinen überaus hilfreichen Beitrag. Mal bisschen umgeschaut im TableView und siehe da, das Performance Problem lag wirklich wo anders...

    Und was war das Problem?

    joejohannesjoe schrieb:

    2)Wie kann ich die Schrift an den Hintergrund anpassen. Ich möchte das circa so machen, wie es in meinem Bild mit einem Grafikprogramm simuliert ist. Die eine Hälfte Dunkel die andere Hell. Gibt's da irgendwas was mir in Bezug auf diese Thematik helfen könnte?

    Du kannst beim Zeichnen den BlendMode auf XOR setzen. Das sollte dazu führen, dass das doppelte Zeichnen eines Pixels mit der gleichen Farbe zu dessen Auslöschung führt. War in den 80ern ein beliebtes Vorgehen, um schnelle Animationen zu erzeugen ;)
    „Meine Komplikation hatte eine Komplikation.“
  • Das Problem lag bei gefühlten 100 NSLogs pro TableView Row. Ich brauch mal ein vernünftiges Logging Tool. (Empfehlungen? :))

    Danke für den Tipp mit XOR. Nur ist mir hier nicht ganz klar wie das gemeint ist. Wenn ich den ersten Text zeichne, dann funktioniert es, aber wenn ich dann den zweiten Text mit anderer Farbe drüber zeichne, dann ist der Hintergrund ja nirgends wo mehr der selbe, also zeichnet er alles mit der zweiten Farbe drüber. Oder steh ich da vollkommen auf dem Schlauch und es gehört ganz anders gemacht?

    Habe jetzt einen alternativen Ansatz probiert und zwar mit CGContextClipToRect, aber das ist leider sehr unschön, da ich die RoundedRects nicht "mitnehme". Ich "clippe" im roten CGRect, aber so wie ich das sehe kann ich nicht in einem Path "clippen". Siehe Bild.

    [Blockierte Grafik: http://s7.directupload.net/images/131220/ap7tfyiy.png]