как захватить поворот устройства при быстром повороте устройства на 180 градусов в xamarin Ios - PullRequest
0 голосов
/ 05 марта 2019

Я использую Xamarin Ios со сторонним плагином Zxing сканер штрих-кода.

Все работает нормально, когда устройство поворачивается на 90 градусов за раз.Изображение также поворачивается соответствующим образом.

Но когда я быстро поворачиваю устройство на 180 градусов, изображение с камеры кажется перевернутым.По сути, событие поворота не захватывается.

Из того, что я понимаю, мы можем захватить событие поворота в переносимой библиотеке, используя

 protected override void OnSizeAllocated(double width, double height)
{
}

То же самое можно добиться на нативной стороне, используя ViewRenderer, используя

   public override void LayoutSubviews ()
        {
            base.LayoutSubviews ();           
        }

Вот что сделал Zxing.Но эти методы фиксируют поворот на 90 градусов.

После некоторых исследований я обнаружил, что поворот на 180 градусов захватывается, если вы переопределяете метод WillAnimateRotation () в пользовательском рендерере страниц, и я могу написать код после поворота вздесь.

Но так ли это?Есть ли другой способ, где я могу захватывать такие вращения в самом View Renderer вместо Page renderer

...