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

问题描述

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

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

enter image description here

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

    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 时,图像集完全消失了!

enter image description here

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

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

enter image description here

编辑:

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

enter image description here

解决方法

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

更新:将在 Rider 2021.1 中修复