Condividi tramite


UIView.Draw(CGRect) Metodo

Definizione

Disegna la visualizzazione all'interno del rettangolo passato.

[Foundation.Export("drawRect:")]
[ObjCRuntime.ThreadSafe]
public virtual void Draw (CoreGraphics.CGRect rect);
abstract member Draw : CoreGraphics.CGRect -> unit
override this.Draw : CoreGraphics.CGRect -> unit

Parametri

rect
CGRect

Classe RectangleF da disegnare.

Attributi

Commenti

Il Draw(CGRect) metodo non deve mai essere chiamato direttamente. Viene chiamato da iOS durante l'elaborazione del ciclo di esecuzione. La prima volta che viene chiamato il ciclo di esecuzione. Successivamente, verrà chiamato su richiesta ogni volta che la visualizzazione è stata contrassegnata come necessaria per la visualizzazione chiamando SetNeedsDisplayInRect(CGRect) o SetNeedsDisplayInRect(CGRect).

Core Graphics usa punti indipendenti del dispositivo anziché pixel. In questo modo, il codice di disegno può essere ridimensionato tra risoluzioni diverse. Ad esempio, su uno schermo Retina, 1 punto equivale a 2 pixel, mentre su schermi non Retina, 1 punto corrisponde a 1 pixel.

public override void Draw (RectangleF rect)
{
    base.Draw (rect);

    var context = UIGraphics.GetCurrentContext ();

    context.SetLineWidth(4);
    UIColor.Red.SetFill ();
    UIColor.Blue.SetStroke ();

    var path = new CGPath ();

    path.AddLines(new PointF[]{
    new PointF(100,200),
    new PointF(160,100), 
    new PointF(220,200)});

    path.CloseSubpath();

    context.AddPath(path);		
    context.DrawPath(CGPathDrawingMode.FillStroke);
}

Può essere usato da un thread in background.

Si applica a