0

我开发了一个通用应用程序。我有四种类型的图像

  • iphone - 简单.png
  • iphone视网膜-simple@2x.png
  • ipad - 简单@3x.png
  • ipad 视网膜 - simple@3x@2x.png

当我尝试运行该应用程序时,它在 ipad(非视网膜)中运行良好,但在 ipad 视网膜中出现黑屏(无图像)。

在这里,放置函数代码,它为我提供了 iphone 和 ipad 的相关名称。

#define SHImageString(str, ext) ({ UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone ? ([NSString stringWithFormat:@"%@.%@", (str), (ext)]) : ([NSString stringWithFormat:@"%@@3x.%@", (str), (ext)]); })

提前致谢。

4

1 回答 1

1

它应该是这样的:

  • iphone-simple.png
  • iphone视网膜-simple@2x.png
  • ipad - simple_iPad.png
  • ipad 视网膜 - simple_iPad@2x.png

在您的代码(或 XIB)中,您只能使用没有@2x. 如果应用程序在视网膜显示器上运行,它将自动使用该@2x版本。这个我用过很多次了,完美。

于 2012-11-27T12:33:53.973 回答