Здравствуйте, stackoverflowers, я работаю над проектом, который построен с использованием MVVMCross и Xamarin для iOS и Android.Я обнаружил, что в проекте используется довольно старая версия MVVMCross (4.4.0), и я пытаюсь привести ее к текущей (6.4).Я подумал, что это хорошая идея - сначала обновить до 5.7, а на более позднем этапе, когда я переключу навигацию на новую форму и т. Д., Я поднимусь до 6 ++.Я успешно запустил версию Android до 5.7, однако, версия iOS использует customPresenter, который я не совсем знаю, как преобразовать в новый Presenter, представленный в 5.1.Я думаю, что мой пользовательский докладчик основан на https://github.com/MvvmCross/MvvmCross-Samples/tree/master/XPlatformMenus/XPlatformMenusTabs.iOS, который некоторое время не обновлялся.
В моем MvxTabPresenter, который является подклассом MvxIosViewPresenter, функция show больше не может быть переопределена.Кроме того, IMvxModalIosView, похоже, больше не существует.
public override void Show(IMvxIosView view)
{
if (view is IMvxModalIosView)
{
if (this._currentModalViewController != null)
{
return;
}
var currentModalViewController = view as MvxViewController;
this._currentModalViewController = currentModalViewController;
currentModalViewController.ModalPresentationStyle = UIModalPresentationStyle.Popover;
CurrentTopViewController.AddChildViewController(currentModalViewController);
currentModalViewController.View.Frame = CurrentTopViewController.View.Bounds.Inset(10, 10);
currentModalViewController.View.Alpha = 0;
CurrentTopViewController.View.Add(currentModalViewController.View);
currentModalViewController.DidMoveToParentViewController(CurrentTopViewController);
UIView.Animate(0.25, () =>
{
currentModalViewController.View.Alpha = 1;
});
//this.PresentModalViewController(currentModalViewController, true);
return;
}
if (view is HomeView)
{
if (this.CurrentTopViewController is MvxTabBarViewController)
{
TabBarPresenter.SelectedIndex = 0;
return;
}
public override void CloseModalViewController()
{
if (this._currentModalViewController != null)
{
this._currentModalViewController.DismissModalViewController(true);
_currentModalViewController.WillMoveToParentViewController(null);
_currentModalViewController.View.RemoveFromSuperview();
_currentModalViewController.RemoveFromParentViewController();
this._currentModalViewController = null;
return;
}
base.CloseModalViewController();
}
}
Кроме того, это больше не может быть переопределено суперклассом.
Есть предложения о том, как к этому подойти?
С уважением, V