Xamarin: переопределить PushAsync в навигации Android - PullRequest
0 голосов
/ 27 ноября 2018

В моем приложении я создаю настраиваемую визуализацию навигации, OnPushAsync и PopViewController переопределяются, и это работает на iOS.

public class NavRenderer : NavigationRenderer
            {
                protected override async Task<bool> OnPushAsync(Page page, bool animated)
                { ...
    }


    public override UIViewController PopViewController(bool animated)
    {
        ....
        return base.PopViewController(false); 
    }

Попытка сделать то же самое (?) На Android, как можно переопределить OnPushAsync иPopViewController?

Tx

1 Ответ

0 голосов
/ 27 ноября 2018

Вы можете override эти методы в рендерере Android для push & pop Pages

public class NavRenderer : NavigationRenderer
{
    public NavRenderer(Context context) : base(context)
    {

    }
    protected override Task<bool> OnPushAsync(Page view, bool animated)
    {
        return base.OnPushAsync(view, animated);
    }
    protected override Task<bool> OnPopViewAsync(Page page, bool animated)
    {
        return base.OnPopViewAsync(page, animated);
    }
}

Это равнозначные методы в вашем рендерере iOS для push & pop Controllers

public class NavRenderer : NavigationRenderer
{
    public override void PushViewController(UIViewController viewController, bool animated)
    {
        base.PushViewController(viewController, animated);
    }

    public override UIViewController PopViewController(bool animated)
    {
        return base.PopViewController(animated);    
    }
}
...