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

问题描述

我对 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

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

在此处输入图像描述

编辑:

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

在此处输入图像描述

标签: iosxcodexamarinxamarin.iosrider

解决方案


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

更新:将在 Rider 2021.1 中修复


推荐阅读