Проведите пальцем вправо по Xamarin. iOS с IOS 13 не оживляет эффект - PullRequest
0 голосов
/ 17 марта 2020

У меня есть приложение Xamarin Native (iOS / Droid). В более старых iOS версиях возврат к предыдущим viewControllers можно выполнить, проведя вправо с помощью одной анимации, которая перетаскивает текущее представление на экран. При обновлении до новейшего iOS 13 эта анимация больше не отображается. ViewWillDissapper также не вызывается. Чего мне не хватает?

Я уже пробовал эти изменения:

this.ModalInPresentation = true;
this.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
NavigationController.InteractivePopGestureRecognizer.Enabled = true;
NavigationController.InteractivePopGestureRecognizer.Delegate = new MyGestureDelegate();

Ответы [ 2 ]

0 голосов
/ 06 апреля 2020

Приложение использует Xamarin Native с Mvvm Cross. Оказывается, что кросс-пакет mvvm в версии 4.4 не поддерживает iOS 13, и обновление до 5.7 решило мою проблему

0 голосов
/ 18 марта 2020

В iOS 13 вы можете установить это в предыдущем ViewController следующим образом:

UIViewControllerSecond viewControllerSecond = new UIViewControllerSecond();
viewControllerSecond.ModalPresentationStyle = UIModalPresentationStyle.FullScreen;
viewControllerSecond.ModalTransitionStyle = UIModalTransitionStyle.FlipHorizontal;
PresentViewController(viewControllerSecond, true, null);

Затем в секунду ViewController просто DismissModalViewController(true); при возврате.

UISwipeGestureRecognizer swipeGesture = new UISwipeGestureRecognizer();
swipeGesture.Direction = UISwipeGestureRecognizerDirection.Right;
swipeGesture.AddTarget(() => { Console.WriteLine("-swipe-to-right-"); DismissViewController(true, null); });
View.AddGestureRecognizer(swipeGesture);

Посмотрите на этот эффект, нужен ли он.

enter image description here

...