2016-05-02 9 views
0

Ich benutze Xamarin.Forms und auf iOS muss ich die obere Aktionsleiste anpassen. In diesem Fall muss ich die dunkle Linie zwischen der oberen Aktionsleiste und der Inhaltsansicht entfernen (siehe Screenshot). Wie kann ich es tun?Xamarin.Forms anpassen Aktionsleiste auf iOS

Vielen Dank im Voraus!

enter image description here

Ich habe es hier und es funktioniert:

public override bool FinishedLaunching(UIApplication app, NSDictionary options) 
     { 
      //Tab bar 
      UITabBar.Appearance.SelectedImageTintColor = UIColor.FromRGB(247, 139, 43); 
      //Switch 
      UISwitch.Appearance.OnTintColor = UIColor.FromRGB(247, 139, 43); 
      //---------------------------------------------------------------------------- 
      UINavigationBar.Appearance.BarTintColor = UIColor.Clear; 
      UINavigationBar.Appearance.ShadowImage = new UIImage(); 
      UINavigationBar.Appearance.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); 
      //----------------------------------------------------------------------------      
      global::Xamarin.Forms.Forms.Init();    
      ImageCircleRenderer.Init();     
      LoadApplication(new App()); 

      return base.FinishedLaunching(app, options); 
     } 
+0

gerade hat es getan, vielen Dank! – Stefano

Antwort

0

Sie können dies erreichen, indem entweder eine benutzerdefinierte Renderer erstellen:

[assembly: ExportRenderer(typeof(CustomNavigationPage), typeof(CustomNavigationRenderer))] 
    namespaceiOS.Renderers 
    { 
     public class CustomNavigationRenderer : NavigationRenderer 
     { 

      public override void ViewDidLoad() 
      { 
       base.ViewDidLoad(); 

       this.NavigationBar.ShadowImage = new UIImage(); 
       this.NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); 
      } 
      } 
    } 

Oder in Ihrem iOS-Projekt, in AppDelegate Methode "FinishedLaunching" können Sie die UIAppearance API verwenden, um Ihre Anwendung auf der ganzen Linie zu stylen.

UINavigationBar.Appearance.ShadowImage = new UIImage(); 
UINavigationBar.Appearance.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); 
+0

ist das der einzige Weg? Es gibt keine Einstellungen oder Stile, die ich für ein Xamarin.iOS-Projekt festlegen kann, wie ich es für ein Android-Projekt getan habe. – Stefano

+0

Nur einige Änderungen vorgenommen. Hoffe das hilft. – wishmaster

+0

Ja, es hilft !! Ich habe es in AppDelegate.cs in FinishedLaunching getan, da ich oben auf meinem Kommentar gepostet habe und es funktioniert. Ist es in Ordnung oder ich muss es in "DidFinishLaunching" tun. Wenn das der Fall ist, weißt du, wie du "DidFinishLaunching" einbauen kannst? Vielen Dank!!! – Stefano

Verwandte Themen