如何在Xamarin iOS中为导航栏设置ShadowImage

时间:2018-03-28 04:04:44

标签: xamarin.ios

在Xamarin iOS(非Forms)应用程序中,我想在导航栏中添加一个分段控件,所以我按照一些教程进行了操作。它基本上有效,但唯一缺少的是删除导航栏下方的1px发线。

我目前要删除的发线是:

public partial class MainViewController : UIViewController
{
    public MainViewController (IntPtr handle) : base (handle)
    {

    }

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

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

但是,我设置空阴影图像的行会引发以下错误:

Error: The left-hand side of an assignment must be a variable, property, or indexer.

但据我所知,ShadowImage是一个属性。

我错了吗?如何设置ShadowImage以便删除发线?

2 个答案:

答案 0 :(得分:0)

请参阅此博客:https://xamgirl.com/navigation-bar-with-shadow-in-xamarin-forms/

该博客的作者非常清楚地解释了如何实现这一目标。

希望这有帮助!!!

答案 1 :(得分:0)

参考? Operator C#,它用于空检查。

为ShadowImage指定值时,

if(this.NavigationController != null ){ this.NavigationController.NavigationBar.ShadowImage }

等于

if(this.NavigationController != null ){
    this.NavigationController.NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default);
    this.NavigationController.NavigationBar.ShadowImage = new UIImage();
}

它不是变量,属性或索引器。

所以,修改你的代码如下

http://server1:8080/nifi-api/system-diagnostics