Frage

ich einen Kreis mit einem schönen Schatten mit diesem Code erstellen (ich verwende MonoTouch.net für iPhone, Objective-C Antworten sind in Ordnung natürlich)

        UIGraphics.PushContext (ctx);
        SizeF shadowSize = new SizeF (0f, -3f);
        ctx.SetRGBFillColor (194f / 255f, 212f / 255f, 238f / 255f, 1f);
        ctx.SetAllowsAntialiasing (true);
        ctx.SetShadowWithColor (shadowSize, 20, new CGColor (0.9f, 0.7f));
        RectangleF area = new RectangleF (35f, 15f, 210f, 210f);
        ctx.FillEllipseInRect (area);
        UIGraphics.PopContext ();

Dann will ich es einen Bogen und Linien hinzuzufügen. Als ich tun, scheinen die Farben und Schatten usw. herum zu haften? Wie kann ich ‚neu beginnen‘, während meine UIView Zeichnung? (Es ist alles in der gleichen UIView, ich bin den Aufbau des Bildes)

War es hilfreich?

Lösung

Wenn Sie alles klar bedeuten, die gezeichnet ist, so dass Sie eine leere Leinwand haben, versuchen Sie CGContextClearRect , bevor irgendetwas zu ziehen.

Aber ich denke, Sie meinen, dass Sie den Schatten wollen, Füllfarbe usw. nur auf diese Ellipse anzuwenden und nicht auf die Dinge, die Sie später ziehen. Um das zu tun, mögen Sie wieder die gleichen Zustand weisender Methoden nennen, aber mit unterschiedlichen Argumenten. Zum Beispiel, CGContextSetShadow Dokumentation , die eine Notiz für alle die Art und Weise hat man Shadowing deaktivieren. Wählen Sie das beste für Sie.

Ich denke, Ihr Hauptproblem ist, dass Sie nicht die Vorteile von Apples hervorragender Dokumentation nehmen. Ich nehme an, daß im wesentlichen MonoTouch.net Objective-C-APIs .NET Module mit ähnlichen oder identischen Symbolnamen abbildet. Also mit einer schnellen Google-Suche, sollten Sie in der Lage sein, die entsprechende Dokumentation im iPhone OS Reference Library zu finden.

Andere Tipps

Bevor wir beginnen, zeichnen, speichert den Zustand:

CGContextSaveGState(ctx);

Dann, nachdem wir fertig sind, geben Sie den Zustand zu dem, was es am Anfang war:

CGContextRestoreGState(ctx);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top