Поделиться через


UIView.Draw(CGRect) Метод

Определение

Рисует представление в переданном прямоугольнике.

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

Параметры

rect
CGRect

Изображение RectangleF для отрисовки.

Атрибуты

Комментарии

Метод Draw(CGRect) никогда не должен вызываться напрямую. Он вызывается iOS во время обработки цикла выполнения. При первом выполнении цикла он вызывается. После этого он будет вызываться по запросу всякий раз, когда представление помечено как нуждающееся в отображении путем вызова SetNeedsDisplayInRect(CGRect) или SetNeedsDisplayInRect(CGRect).

Core Graphics использует точки, независимые от устройства, а не пиксели. Это позволяет масштабировать код рисования между различными разрешениями. Например, на дисплее Retina 1 точка эквивалентна 2 пикселям, а на дисплеях, отличных от Retina, 1 точка соответствует 1 пикселю.

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);
}

Его можно использовать из фонового потока.

Применяется к