Ich arbeite an einer iPhone-App, die einige nicht-rechteckige UI-Elemente hat. Derzeit bin ich subclassing UIView
und in drawRect
Ich benutze eine CGPathRef
um einen schwarzen Rand und einen farbigen Innenraum zu zeichnen.
Ich möchte, dass diese Elemente mehr wie "Schaltflächen" aussehen, also möchte ich einige der gleichen Art von "Glaseffekten" haben, die z. B. auf den Symbolen für eine iPhone-App verwendet werden (wenn Sie nicht die UIPrerenderedIcon
auf true), oder in anderen Schaltflächen.
Ich habe mich umgeschaut und das hier gefunden, das dem, was ich brauche, sehr nahe kommt:
Farbverläufe bei UIView und UILabels auf dem iPhone
Aber ich habe Schwierigkeiten herauszufinden, wie ich den Farbverlauf an meine Form anpassen kann.
Es scheint, dass die mask
Eigenschaft der Ansicht der richtige Ort wäre, was mich dazu bringen würde, eine neue CALayer
Objekt, auf das die Beschneidung irgendwie angewendet wird.
Ich hoffe, dass es dafür eine nette Komfortfunktion gibt, aber wenn ich etwas Komplizierteres schreiben muss, ist das auch in Ordnung. Ich habe nur Schwierigkeiten herauszufinden, wie ich den Pfad als Maske anwenden kann. Ich bin mir nicht sicher, ob ich einen neuen Zeichnungskontext erstellen und den Pfad darin zeichnen muss? Und dann verwenden CGContextClip
?
Ich glaube, ich habe viele der richtigen Teile herausgefunden, ich habe nur Schwierigkeiten zu verstehen, wie man sie zusammensetzt.
Könnte mir bitte jemand die richtige Richtung weisen? (Ich bin gerne bereit, mehr in den Dokumenten zu lesen, aber zeigen Sie mir bitte die richtige Richtung).