#xamarin.forms #view #colors #xamarin.android #xamarin.ios
Вопрос:
У меня есть изображение (размером с баннер), которое имеет цвет фона #F6D401
и должно перейти на верхнюю панель для брендинга.
в App.xaml я установил:
<Application.Resources>
<ResourceDictionary>
<Color x:Key="Primary">#f6d401</Color>
<Color x:Key="TextColor">#5a5a5a</Color>
Затем в AppShell.xaml
<Shell.Resources>
<ResourceDictionary>
<Style x:Key="BaseStyle" TargetType="Element">
<Setter Property="Shell.BackgroundColor" Value="{StaticResource Primary}" />
<Setter Property="Shell.ForegroundColor" Value="{StaticResource Primary}" />
Затем на страницах:
<Shell.TitleView>
<Image
HorizontalOptions="Center"
VerticalOptions="Center"
Source="logo.png" />
</Shell.TitleView>
На Android я получаю фоновый баннер и все цвета одного цвета, что именно то, что я хочу и чего ожидаю.
однако в iOS цвета, похоже, не совпадают
Я предполагаю, что где-то в iOS есть настройка по умолчанию, которая делает это, которую необходимо изменить.
Как сделать так, чтобы цвета баннеров и значков совпадали?
Ответ №1:
Пожалуйста, добавьте UINavigationBar.Appearance.Translucent = false;
в AppDelegate.cs
public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
{
//
// This method is invoked when the application has loaded and is ready to run. In this
// method you should instantiate the window, load the UI into it and then make the window
// visible.
//
// You have 17 seconds to return from this method, or iOS will terminate your application.
//
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
UINavigationBar.Appearance.Translucent = false;
global::Xamarin.Forms.Forms.Init();
LoadApplication(new App());
return base.FinishedLaunching(app, options);
}
}
Вот запущенный скриншот.