我试图在Xamarin上隐藏iOS上的导航栏,但我想保持刷回到最后一页的能力。
我试过这样做:
this.ViewController.NavigationController.NavigationBar.Hidden = true;
和此:
this.ViewController.NavigationController.NavigationBarHidden = true;
在自定义PageRenderer中,但这些都不会隐藏导航栏。如果我在推送页面时删除了导航栏,我也无法向后滑动。
有什么建议吗?
答案 0 :(得分:3)
试试这个:
public class PageCustomRenderer : PageRenderer, IUIGestureRecognizerDelegate
{
public override void ViewWillAppear(bool animated)
{
base.ViewWillAppear(animated);
if (NavigationController != null)
{
NavigationController.NavigationBarHidden = true;
NavigationController.InteractivePopGestureRecognizer.Delegate = this;
NavigationController.InteractivePopGestureRecognizer.Enabled = true;
}
}
}
iOS中的PageRender中的 this
已经是ViewController,因此您可以从那里访问NavigationController
。
您需要让PageRenderer实施IUIGestureRecognizerDelegate
,以便您可以将其作为InteractivePopGestureRecognizer
的{{1}}
希望这会有所帮助.-