Compartilhar via


UIView.Draw(CGRect) Método

Definição

Desenha a exibição dentro do retângulo passado.

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

Parâmetros

rect
CGRect

O RectangleF a ser desenhado.

Atributos

Comentários

O Draw(CGRect) método nunca deve ser chamado diretamente. Ele é chamado pelo iOS durante o processamento de loop de execução. Na primeira vez por meio do loop de execução, ele é chamado. Depois disso, ele será chamado sob demanda sempre que a exibição tiver sido marcada como precisando de exibição chamando SetNeedsDisplayInRect(CGRect) ou SetNeedsDisplayInRect(CGRect).

O Core Graphics usa pontos independentes do dispositivo em vez de pixels. Isso permite que o código de desenho seja dimensionado entre resoluções diferentes. Por exemplo, em uma tela Retina, 1 ponto é equivalente a 2 pixels, enquanto em telas não Retina, 1 ponto corresponde 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);
}

Isso pode ser usado em um thread em segundo plano.

Aplica-se a