我正在使用Xamarin.Forms并且在iOS上我需要自定义顶部操作栏。 在这种情况下,我需要删除顶部操作栏和下面的内容视图之间的暗线(参见屏幕截图)。 我该怎么办?
提前谢谢!!
我在这里做了它并且它起作用了:
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 :(得分:0)
您可以通过创建自定义渲染器来实现此目的:
[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);
}
}
}
或者在您的iOS项目中,在AppDelegate方法“FinishedLaunching”中,您可以使用UIAppearance API来全面设置应用程序的样式。
UINavigationBar.Appearance.ShadowImage = new UIImage();
UINavigationBar.Appearance.SetBackgroundImage(new UIImage(), UIBarMetrics.Default);