Какой метод используется, чтобы сказать холсту перерисовать себя, используя Skiasharp.Views. iOS? - PullRequest
0 голосов
/ 30 января 2020

Технология : Xamarin.Forms, Xamarin. iOS и C#

Проблема: Я пытаюсь найти эквивалент SKCanvasView. InvalidateSurface () с использованием Skiasharp.Views.Forms для Skiasharp.Views. iOS. Похоже, что нет аналога. Ниже комментария в моем фрагменте кода показан метод, для которого я пытаюсь найти эквивалент в Skiasharp.Views. iOS.

 using System;
 using System.Diagnostics;
 using Xamarin.Forms;
 using SkiaSharp;
 using SkiaSharp.Views.Forms;

 namespace SkiaSharpFormsDemos.Basics
 {
   public class ExpandingCirclesPage : ContentPage
   {
     protected override void OnAppearing()
     {
        base.OnAppearing();
        pageIsActive = true;
        stopwatch.Start();

        Device.StartTimer(TimeSpan.FromMilliseconds(50), () =>
        {
            t = (float)(stopwatch.Elapsed.TotalMilliseconds % cycleTime / cycleTime);

           /*
            * What's the equivalent of 
            * SKCanvasView.InvalidateSurface() 
            * using Skiasharp.Views.Forms to
            * Skiasharp.Views.iOS.
            */
            canvasView.InvalidateSurface(); 

            if (!pageIsActive)
            {
                stopwatch.Stop();
            }
            return pageIsActive;
        });
 }
}

1 Ответ

0 голосов
/ 02 февраля 2020

Используйте iOS собственный UIView.SetNeedsDisplay метод для экземпляра SKCanvasView. Это должно вызвать событие PaintSurface и перерисовать представление.

...