2

私のアプリにはViewControllersが2つあります。私はXamarin.iOSを使用しています。 VC1からVC2に移動し、背景色をNavigationBarBarTintColor)に変更して、異なるVCが異なるNavigationBarColorsになるようにします。 VC1BackButton Xamarin.iOSを押したときにNavigationBar Tintの色が変わらない

コード:VC2で

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); 
     } 

コード:

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); 
     } 

今問題がある:私は私がVC2にフォームVC1をナビゲートするときの色を変更することができるが、私は戻って行くときVC1に色は変化しません。

私の推測では、画面が背景色を変更するように見えるときに、いくつかの方法をオーバーライドする必要があります。 VC1では、私はViewDidAppearをオーバーライドしましたが、それは結果をもたらしませんでした。何か案が?

答えて

2

ねえ、あなたはViewWillAppearを試してみました:

VC1:

public override void ViewWillAppear (bool animated) 
{ 
    base.ViewWillAppear (animated); 
    if (NavigationController != null) 
    { 
     NavigationController.NavigationBar.BarTintColor = UIColor.FromRGB (26f/255f, 56f/255f, 100f/255f); 
    } 
} 

ViewDidAppearを使用すると、ナビゲーションバーを変更できるようにビューを画面とViewWillAppear上のない画面上にすでにあります。

+0

ありがとうございました:) – Xhulio

+0

心配しないで、助けてください! –

関連する問題