Ios 删除导航栏中的后退箭头保留后退按钮标题
我有xamarin forms ios应用程序,我需要删除导航栏中的后退箭头,但标题应该显示出来,当用户单击后退按钮标题时,它应该导航到上一个视图。 我试着用`Ios 删除导航栏中的后退箭头保留后退按钮标题,ios,xamarin,xamarin.forms,navigationbar,Ios,Xamarin,Xamarin.forms,Navigationbar,我有xamarin forms ios应用程序,我需要删除导航栏中的后退箭头,但标题应该显示出来,当用户单击后退按钮标题时,它应该导航到上一个视图。 我试着用` NavigationPage.SetBackButtonTitle(this, "Cancel"); NavigationPage.SetHasBackButton(this, false); 但是返回箭头仍在显示,是否有任何理由在AppDelegate.cs文件中,在FinishedLaunching方法中,只使用文本Cancel
NavigationPage.SetBackButtonTitle(this, "Cancel");
NavigationPage.SetHasBackButton(this, false);
但是返回箭头仍在显示,是否有任何理由在
AppDelegate.cs
文件中,在FinishedLaunching
方法中,只使用文本Cancel
而不使用
UINavigationBar.Appearance.BackIndicatorImage = new UIImage();
UINavigationBar.Appearance.BackIndicatorTransitionMaskImage = new UIImage();
但是,这将为每个页面删除它。如果你只想要一个页面,我建议像EvZ已经提到的那样:使用一个模式页面或找到另一种方式
另一种方法是将上述行设置为null
,这将恢复正常箭头。但这意味着要实现一个自定义呈现程序、依赖项服务或类似的功能。我通过添加一个自定义呈现程序来解决我的问题,如下所示
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
this.NavigationController.TopViewController.NavigationItem.LeftBarButtonItem =new UIBarButtonItem(“Cancel”, UIBarButtonItemStyle.Plain, (sender, args) => { });
}
移除导航栏,使用导航位置上的图像/标题,并将其写入图像/标题中
image onclick event into write-back命令听起来你应该用模式页面取代分层导航。@EvZ,我尝试使用Navigation.PushModalAsync代替Navigation.PushAsync,但运气不好,Navigation.PushModalAsync使用这个删除整个导航栏。这是预期的结果,你必须创建一个模式标题视图并将其放在页面顶部。你把那段代码放在哪里了?@Daniel,我从xaml.cs构造函数中保留了第一个视图,从这里导航到另一个视图,我想删除/隐藏第二个视图中的返回箭头。protected override bool OnBackButtonPressed(){if(_browser.CanGoBack){u browser.GoBack();返回true;}否则{//wait Navigation.popsync(true);base.OnBackButtonPressed();返回true;}