Я использую 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