MonoTouch UIImage.FromFile 不加载视网膜资产
Posted
技术标签:
【中文标题】MonoTouch UIImage.FromFile 不加载视网膜资产【英文标题】:MonoTouch UIImage.FromFile not loading retina assets 【发布时间】:2014-04-16 07:03:02 【问题描述】:我正在使用 ios7 在模拟器中进行测试。我所有的资产都是仅带有@2x 名称的视网膜。我对 UIImage.FromFile 有一个非常奇怪的行为。 请注意,模拟器 iPad 和模拟器 iPad Retina 的行为相同。
基本上:
UIImage.FromBundle("Images/close.png"),这将起作用:它加载 close@2x.png 并将其缩小 UIImage.FromFile("Images/close.png"),这不起作用 UIImage.FromFile("Images/close@2x.png"),这会加载图像,但我不确定它会做预期的事情(即:在非视网膜设备上缩小它并在视网膜设备上正确使用它)有什么提示吗?我以为 iOS7 会自动处理这个问题。
【问题讨论】:
【参考方案1】:根据Xamarin文档-Working with Images(看文末)-Using FromFile is similar to using FromBundle, except that you have to pass the entire file path, including file suffix.
,所以这意味着如果你使用FromFile
你应该在末尾添加@2x
后缀。
【讨论】:
从我的测试来看,整个文件路径不是必需的。同样从这个讨论中,@2x 不应该是必要的:monotouch.2284126.n4.nabble.com/… 这是某种错误(在那个讨论中已经讨论过),如果 xamarin 团队会在下一个版本中修复它怎么办?然后,如果您不添加后缀,它将工作不正确并且您可能不会注意到它,因此最好根据文档执行所有操作,因为您无法确定在 xamarin 更新后它会以相同的方式工作 你说得有道理。奇怪的是,当您使用“Go to declaration”查看“FromFile”和“FromBundle”的实现时,它似乎在做同样的事情。以上是关于MonoTouch UIImage.FromFile 不加载视网膜资产的主要内容,如果未能解决你的问题,请参考以下文章
如何在 DialogViewController (Monotouch.Dialog) 上设置背景颜色
Monotouch 找不到 AudioFileOpenURL
MonoTouch:StoryBoarding - 手动转场?