OnBackButtonPressed不会被调用。我看过其他地方,该功能适用​​于android硬件后退按钮。我想提醒用户输入图钉,然后他们才能返回上一屏幕。我的页面不是正常页面。这是一个标签页。.我该怎么做才能覆盖iOS上的导航后退按钮。

最佳答案

您需要使用自定义后退按钮替换默认的后退按钮,Xamarin Forms的导航栏已映射到iOS中的UINavigationBar,因此您需要将自定义后退按钮设置为UILeftBarButtonItem,如下所示

public override void ViewWillAppear(bool animated)
{
    var backBtn = new UIButton(UIButtonType.Custom)
    {
        // setup your custom back button with title, image etc
    }
    backBtn.TouchDown += (sender, e) =>
    {
        //Handle back click here
    };

    NavigationController.TopViewController.
    NavigationItem.LeftBarButtonItem = new UIBarButtonItem(backBtn);
}

您还需要在本机到表单之间架桥,以便在Xamarin PCL或共享项目中获得回调。

这个article中有完整的代码实现

07-28 04:10