2014-04-16 35 views
0

我在iOS7模擬器中測試。我的所有資產都是視網膜,只有@ 2x名稱。我有一個非常奇怪的行爲與UIImage.FromFile。 請注意,模擬器iPad和模擬器iPad Retina的行爲是相同的。MonoTouch UIImage.FromFile無法加載視網膜資產

基本上是:

  • UIImage.FromBundle( 「圖像/ close.png」),這將工作:它加載[email protected]和規模下來
  • UIImage.FromFile(「圖片/close.png「),這是行不通的
  • UIImage.FromFile(」Images/[email protected]「),這加載圖像,但我不知道它會做預期的事情(即:尺度它在非視網膜設備上並在視網膜設備上正確使用)

任何提示?我認爲iOS7正在自動處理這個問題。

回答

3

按照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後綴來結束。

+0

從我的測試中,整個文件路徑是沒有必要的。另外從這個討論中,@ 2x不應該是必要的:http://monotouch.2284126.n4.nabble.com/UIImage-FromFile-and-2x-images-td4655758.html – Fabien

+0

這是一種錯誤(和討論中討論過),如果xamarin團隊將在下一個版本中修復它會怎麼樣?那麼如果你不添加後綴,它將不正確,你可能沒有注意到,所以最好根據文檔做所有的事情,因爲你不能確定它會在xamarin更新後以相同的方式工作。 – choper

+0

一個點。但奇怪的是,當你看着,使用「去聲明」,在執行「FromFile」和「FromBundle」時,它似乎也在做同樣的事情。 – Fabien