У меня есть два ViewControllers
в моем приложении. Я использую Xamarin.iOS. Я хочу перейти от VC1
к VC2
и изменить цвет фона NavigationBar
(BarTintColor
), поэтому разные VC должны иметь разные NavigationBarColors
.Навигационный оттенок Цвет не меняется, когда я нажимаю BackButton Xamarin.iOS
Код в VC1
:
public override void ViewDidLoad()
{
base.ViewDidLoad();
//change the navigation bar controller
this.NavigationController.NavigationBar.BarTintColor = UIColor.FromRGB (26f/255f, 56f/255f, 100f/255f);
this.NavigationController.NavigationBar.TitleTextAttributes = new UIStringAttributes()
{
ForegroundColor = UIColor.White
};
NavigationController.NavigationBar.BarStyle = UIBarStyle.Black;
}
public override void ViewDidAppear (bool animated)
{
base.ViewDidAppear (animated);
this.NavigationController.NavigationBar.BarTintColor = UIColor.FromRGB (26f/255f, 56f/255f, 100f/255f);
}
Код в VC2:
public override void ViewDidLoad()
{
base.ViewDidLoad();
// Perform any additional setup after loading the view, typically from a nib.
// change the back button
UIBarButtonItem newBackButton = new UIBarButtonItem("Prapa",UIBarButtonItemStyle.Plain, (sender,args) => NavigationController.PopViewController (true));
newBackButton.TintColor = UIColor.White;
NavigationItem.SetLeftBarButtonItem (newBackButton, false);
//change the title of the screen
NavigationItem.Title = "Horoskopi Ditor";
NavigationController.NavigationBar.BarTintColor = UIColor.FromRGB(47f/255f,189f/255f, 184f/255f);
}
Теперь проблема: я могу изменить цвет, когда я перейти формы VC1 к VC2, но когда я вернусь для VC1 цвет не изменяется.
Я предполагаю, что мне нужно переопределить какой-либо метод, чем, когда на экране появляется изменение цвета фона. В VC1 я переопределяю ViewDidAppear
, но это не дало мне результата. Есть идеи?
спасибо, что это сработало :) – Xhulio
Не беспокойтесь, рад помочь! –