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 代码签名密钥