Xamarin.forms - проблема с нижней панелью инструментов тени ios - PullRequest
0 голосов
/ 31 марта 2020

Я работаю в чате приложения Xamarin.forms, и у меня есть некоторые проблемы с навигационной панелью. Проблема находится в тени панели инструментов, я хочу, чтобы она исчезла.

Он уже работал с кодом ниже, но теперь он перестал работать.

Изображение ! введите описание изображения здесь ] 1

Код AppDelegate

        Xamarin.Forms.Forms.SetFlags(new string[] { "CarouselView_Experimental", "IndicatorView_Experimental" });
        ImageCircleRenderer.Init();
        KeyboardOverlapRenderer.Init();
        global::Xamarin.Forms.Forms.Init();
        LoadApplication(new App(null, null, null));
        OneSignal.Current.StartInit("8bf7b19d-fb86-4ffb-a17e-5998f6756883").HandleNotificationOpened(App.HandleNotificationOpened).EndInit();

        UINavigationBar.Appearance.ShadowImage = new UIImage();
        UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(255, 255, 255);

1 Ответ

0 голосов
/ 01 апреля 2020

Если это не работает, есть другое решение , которое можно реализовать, настроив NavigationPage.

Создание CustomNavigationPage :

public class CustomNavigationPage : NavigationPage
{
    public CustomNavigationPage(Page root) : base(root)
    {
    }
}

В App.xaml.cs :

public App()
{
    InitializeComponent();
    CustomNavigationPage navigationPage = new CustomNavigationPage(new MainPage());
    MainPage = navigationPage;
}

Затем в iOS решении вы можете создать CustomNavigationRenderer для изменения панели навигации:

[assembly: ExportRenderer(typeof(CustomNavigationPage), typeof(CustomNavigationRenderer))]
namespace AppFrameRenderer.iOS
{
    public class CustomNavigationRenderer: NavigationRenderer
    {
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            NavigationBar.ShadowImage = new UIImage();
        }
    }
}

Эффект, как и ожидалось:

enter image description here

...