Я использую Xamarin.Forms и пытаюсь изменить цвет фона панели навигации на iOS.Xamarin forms change background color of navigation bar
У меня есть настраиваемый класс навигационной панели, который наследует от NavigationPage со свойством bindable и конструктором, который устанавливает цвет панели навигации. По моему мнению, на навигационной панели есть фон по умолчанию (черный) поверх фона Xamarin.Forms. Я могу установить цвет фона с помощью метода SetColor() (см. Ниже). Однако он оставляет черную линию, которая является фоном навигационной панели (iOS), как показано на рис. Picture Link
Теперь я пытаюсь установить цвет фона панели навигации iOS на белый или прозрачный. Я провел много времени, но ничего не получилось. Может кто-нибудь помочь, как установить фон на белый.
//PCL class
public class CustomNavigationalPage : NavigationPage
{
public static readonly BindableProperty BarBgColorProperty =
BindableProperty.
Create<CustomNavigationalPage, UIColor>
(p => p.BarBackgroundColorR, null);
public UIColor BarBackgroundColorR
{
get { return (UIColor)base.GetValue (BarBgColorProperty); }
set { base.SetValue (BarBgColorProperty, value); }
}
public NavigationalPageCustomized() : base()
{
SetColor();
}
void SetColor()
{
BarBackgroundColor = Color.Transparent;
BarTextColor = Color.Blue;
}
}
Навигационная панель визуализации класс:
[assembly: ExportRenderer (typeof (CustomNavigationalPage), typeof (CustomNavigationPageRenderer))]
namespace project.iOS
{
public class CustomNavigationPageRenderer : NavigationRenderer
{
public CustomNavigationPageRenderer()
{
// UINavigationBar.Appearance.SetBackgroundImage (UIImage.FromFile ("navbg.png"), UIBarMetrics.Default);
}
protected override void OnElementChanged (VisualElementChangedEventArgs args)
{
base.OnElementChanged (args);
var nb = (NavigationalPageCustomized) Element;
if (nb != null)
{
nb.BarBackgroundColorR = UIColor.White;
}
}
}
}
Ive, упомянутый в моем сообщении, я смог установить цвет навигационного бара, также показать на картинке. Проблема iOS имеет собственный цвет фона (по умолчанию - черный). Я пытаюсь установить этот цвет на белый, поэтому он не оставляет ни одной строки, как на рис. – user4015632