ios - Xamarin iOS 在运行时交换包中的图像

标签 ios objective-c xamarin.ios xamarin

我希望允许我的应用从网络下载图像并将其放置在/images 中,然后显示在 UI 中 - 这是为了允许为 Multi-Tenancy 应用下载品牌特定图像。

应用程序会正确下载图像并将图像放入/Images 文件夹

但是,当尝试使用 UIImage.FromFile 加载图像时,它总是返回 null - 即使我完全知道图像就在那里!

我知道 UIImage.FromBundle 会缓存内容,所以我选择使用 FromFile 但这似乎不起作用?!

我需要做些什么才能使这项工作成功吗?还是我有点运气了?

我使用以下内容来创建文件路径:

public static UIImage SafeClaim_Logo = UIImage.FromFile(NSBundle.MainBundle.BundlePath +"/Images/Logo.png");

以下是我用来下载和保存文件的代码 - 当我检查它时,上面的文件路径与下面相同

HttpClient client = new HttpClient ();
var clientResponse = await client.GetByteArrayAsync(url);

using (FileStream fs = new FileStream(NSBundle.MainBundle.BundlePath + path, FileMode.OpenOrCreate))
 {
     var bytes = clientResponse;
     fs.Write(bytes, 0, bytes.Length);
 }

最佳答案

应用程序包是只读的,因此您无法在运行时更改或添加内容。

运行时创建的所有内容都应存储在您的文档或缓存文件夹中。

您可以通过调用以下方式获取文档文件夹:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

关于ios - Xamarin iOS 在运行时交换包中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790267/

相关文章:

iphone - MonoTouch 上传到 iOS 设备的问题

ios - 借助 iPhone 应用程序的 Web 服务发送数据是否有任何限制?

ios - 下拉菜单更新 View

ios - 可以为 Apple Watch 创建表盘吗?

iphone - 如何从 objective-c 类调用 .mm 文件上的方法

objective-c - Objective-C : property without member variable in . h 文件?

xcode - 如何在Xcode项目中使用MonoTouch库?

iphone - UINavigationbar 覆盖 View 顶部

ios - 修剪 UIImage 白色边框

ios - 具有半透明/模糊背景 View 的 UILabel