【发布时间】: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
如果重要的话,我会在控制台中看到一些我不明白的行:
编辑:
我刚刚注意到,在创建图像集时,骑手控制台会吐出这些错误:
【问题讨论】:
标签: ios xcode xamarin xamarin.ios rider