Xamarin.iOS NavigationController.SetToolbarHidden = false работает неправильно - PullRequest
0 голосов
/ 11 сентября 2018

Что я хочу сделать:
Я хочу, чтобы родная iOS Navigation toolbar была видна, как вы можете видеть на этом рисунке (имеет старый стиль iOS, но служит иллюстративным материалом): enter image description here

Но моя проблема в том, что собственная панель инструментов UINavigationController покрывает весь экран.

Чтобы воспроизвести мою проблему, я создал простую кросс-платформу Blank (Android)и iOS) с Microsoft Visual Studio 2017 для Windows.
Первое, что я сделал, это отобразил MainPage в NavigationPage (что необходимо для отображения главной страницы в NavigationController), поэтому я изменилкод в файле App.xaml.cs от

MainPage = new MainPage();

до этого

MainPage = new NavigationPage(new MainPage());

Чтобы сделать проблему более заметной, я добавил следующую строку в конструктор MainPage.xaml.cs.

BackgroundColor = Color.Blue;

Теперь я добавил собственный рендерер для MainPage.
Этот рендерер выглядит точно так же, как это

[assembly: ExportRenderer(typeof(MainPage), typeof(MainPageRenderer))]

namespace App1.iOS {
    class MainPageRenderer : PageRenderer {
        public override void ViewWillAppear(bool animated) {
            base.ViewWillAppear(animated);

            NavigationController.SetToolbarHidden(false, animated);
        }
    }
}

Теперь, когда я запускаю приложение на симуляторе iPhone, онвыглядит так (панель инструментов покрывает весь экран):

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...