Xamarin.IOS(使用 Rider):每次加载 XCode 或运行模拟器时,创建的图像集都会消失

Posted

技术标签:

【中文标题】Xamarin.IOS(使用 Rider):每次加载 XCode 或运行模拟器时,创建的图像集都会消失【英文标题】:Xamarin.IOS (using Rider): created image sets disappear every time I load XCode or run simulator 【发布时间】:2021-02-02 07:57:03 【问题描述】:

我对 Xamarin.ios 非常陌生。我使用 Rider 作为我的 IDE。我有一个基本的项目设置,有一个表格视图。每个单元格包含一个按钮和一个标签。我可以注册按钮按下。我想要做的是在单击按钮时更改按钮的图标。我可以在 C# 中调用该方法,但在实际加载图像时一直遇到问题。

在 Xcode 中,我通过将两个 .png 文件拖入 Assets.xcassets 中创建了两个图像集。

我正在像这样加载我的图像:

    UIImage checkedImage;
    UIImage uncheckedImage;


    public CampingListCell(IntPtr handle) : base(handle) 
        checkedImage = UIImage.FromBundle ("checked");
        uncheckedImage = UIImage.FromBundle("unchecked");
    

然后我用图片交换

    void AdjustImage() 
        switch (listItem.CurrentCheckedState) 
            case CheckedState.Checked:

                ListItemCheckbox.ImageView.Image = checkedImage;
                break;
            case CheckedState.NotChecked:
                ListItemCheckbox.ImageView.Image = uncheckedImage;
                break;
            default:
                throw new ArgumentOutOfRangeException();
        
    

但是,当我在模拟器中运行程序时,只有一个空白按钮。我已验证单击按钮时正确调用了 adjustImage 方法。

我也试过ListItemCheckbox.SetImage(uncheckedImage, UIControlState.Normal);

另外,当我退出并重新打开 Xcode 时,图像集完全消失了!

我是否遗漏了一些明显的东西?我正在按照以下说明进行操作: https://docs.microsoft.com/en-us/xamarin/ios/app-fundamentals/images-icons/displaying-an-image?tabs=macos

如果重要的话,我会在控制台中看到一些我不明白的行:

编辑:

我刚刚注意到,在创建图像集时,骑手控制台会吐出这些错误:

【问题讨论】:

【参考方案1】:

我在 JetBrains 问题跟踪器中为您创建了一个新问题: https://youtrack.jetbrains.com/issue/RIDER-57454

更新:将在 Rider 2021.1 中修复

【讨论】:

谢谢。这是骑手的问题吗?而不是 Xcode 问题?骑手是否以某种方式擦除资产文件夹? 我不确定,但可能是的 我刚刚在 Visual Studio 中加载了项目并且图像加载正常。所以确认这是一个骑手问题。这基本上阻止了我使用骑手。希望它很快得到修复! 另外,现在,在视觉工作室中加载它们后,它们在从骑手调试模拟器运行时可以工作。 我认为 Rider 无法从 Xcode 项目中复制图像。这就是为什么你可以使用 VS 来让它工作。

以上是关于Xamarin.IOS(使用 Rider):每次加载 XCode 或运行模拟器时,创建的图像集都会消失的主要内容,如果未能解决你的问题,请参考以下文章

Rider Xamarin iOS 错误“部署后未生成应用程序包”

如何在 Rider 中设置 Xamarin.ios 视图的属性? (如何更新自动生成的 View.designer.cs?)

Jetbrains Rider、Xamarin IOS 在钥匙串中找不到有效的 iOS 代码签名密钥

从 Xamarin ios 中的 url 下载图像的最佳方法是啥?

如何关闭 Rider 中文件的反编译?

使用Xamarin Effect删除Xamarin.iOS中TextEntry上的圆角