Frage

In meinem iPhone-Projekt, ich habe eine UIView, wo ich die drawRect Methode implementieren:

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();

Innerhalb des Verfahrens kann ich eine ganze Reihe von Zeichnen von Linien, Bildern und Texten dieses Kontext verwenden. Das Problem ist, dass, wenn ich diese Ansicht wieder verwenden, wird der Kontext nicht zurückgesetzt bekommen. Gibt es eine Methode, die ich nennen kann den Kontext irgendwie zurücksetzen?

War es hilfreich?

Lösung

Sie möchten vielleicht CGContextSaveGState auszuchecken (Kontext) und CGContextRestoreGState (Kontext). Sie lassen Sie schieben und den aktuellen Zustand des Kontexts Pop.

Wenn Sie Ihre Ansicht ‚verstümmelten‘ wird immer, überprüfen Sie die Ansicht des contentMode Einstellung.

Andere Tipps

Sie können auch verwenden CGContextClearRect(context, CGRectMake(0, 0, width, height));

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top