Скрыть кнопку «Назад» в Xamarin - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу скрыть текст кнопки «Назад» в Xamarin на iOS, я пробовал:

<Style TargetType="NavigationPage">
<Setter Property="BackButtonTitle" Value="" />
</Style>

и этот код:

<Style TargetType="ContentPage">
<Setter Property="NavigationPage.BackButtonTitle" Value="" />
</Style>

Но текст все еще появляется

РЕШИТЬ:

Средство визуализации iOS:

[assembly: ExportRenderer(typeof(ContentPage), typeof(BackButtonPag))]
[assembly: ExportRenderer(typeof(NavigationPage), typeof(BackButtonNav))]

public class BackButtonPag : PageRenderer
    {
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            if (NavigationController != null)
                NavigationController.TopViewController.NavigationItem.BackBarButtonItem = new UIBarButtonItem("", UIBarButtonItemStyle.Plain, null);
        }
    }

    public class BackButtonNav : NavigationRenderer
    {
        public override void ViewWillAppear(bool animated)
        {
            base.ViewWillAppear(animated);

            NavigationBar.TopItem.BackBarButtonItem = new UIBarButtonItem("", UIBarButtonItemStyle.Plain, null);
        }
    }

Также добавьте это

NavigationPage.BackButtonTitle = ""

в Main.xaml вашей MasterDetailPage

1 Ответ

0 голосов
/ 19 сентября 2018

Как сказал здесь , вы можете использовать пустую строку для заголовка кнопки Назад:

NavigationPage.SetBackButtonTitle(this, "");

Или вы можете установить заголовок UIBarButtonItem как понятный

public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
  {
     // . . .
     var attribute = new UITextAttributes();
     attribute.TextColor = UIColor.Clear;
     UIBarButtonItem.Appearance.SetTitleTextAttributes(attribute, UIControlState.Normal);
     UIBarButtonItem.Appearance.SetTitleTextAttributes(attribute, UIControlState.Highlighted);
     //. . .

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