XamarinForms:如何使用自定义导航页面



我想在我的应用程序上的特定视图上进行剪切导航,我创建了一个自定义导航ios:

public class CustomNavigationPageRenderer : NavigationRenderer
{
public override void ViewDidLoad()
{
base.ViewDidLoad();
UINavigationBar.Appearance.SetBackgroundImage(new UIImage(), UIBarMetrics.Default);
UINavigationBar.Appearance.ShadowImage = new UIImage();
UINavigationBar.Appearance.BackgroundColor = UIColor.Clear;
UINavigationBar.Appearance.TintColor = UIColor.White;
UINavigationBar.Appearance.BarTintColor = UIColor.Clear;
UINavigationBar.Appearance.Translucent = true;
}
}

和一个通用接口类:

public partial class CustomPage : NavigationPage
{
public CustomPage(): base()
{
InitializeComponent();
}
public CustomPage(Page root) : base(root)
{
InitializeComponent();
}
public bool IgnoreLayoutChange { get; set; } = false;
protected override void OnSizeAllocated(double width, double height)
{
if (!IgnoreLayoutChange)
base.OnSizeAllocated(width, height);
}
}

现在,在我的具体观点中,我是如何使用它的?我需要设置虚假的原始导航吗?(NavigationPage.SetHasNavigationBar(this,false(;​)

public MySpecificViewNeedCustoNAv()
{
CustomPage myNavigationPage = new CustomPage();
...

是否需要将原始导航设置为false?

否,您可以参考以下代码。

例如

在App.cs 中创建根页面

public App ()
{
MainPage = new CustomPage (new xxxpage());
}

将页面推送到页面中的导航堆栈

async void ButtonClicked (object sender, EventArgs e)
{
await Navigation.PushAsync (new xxxpage());
}

相关内容

  • 没有找到相关文章

最新更新