【问题标题】:different background images for landscape and portrait view横向和纵向视图的不同背景图像
【发布时间】:2014-02-19 10:08:35
【问题描述】:

我正在开发一个通用应用程序,其中我使用以下代码为UIView 提供了背景图像。

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"backImage.png"];

[self.view addSubview:imgView];
[self.view sendSubviewToBack:imgView];

我已创建以下图像并添加到项目中,

backImage.png

backImage@2x.png

backImage-Portrait~ipad.png

backImage-Portrait@2x~ipad.png

backImage-Landscape~ipad.png

backImage-Landscape@2x~ipad.png

但它似乎没有拍摄正确的图像。

当我在 iphone 上运行应用程序时它工作正常(我的意思是它需要相应的 backImage.png 和 backImage@2x.png)但是当我在 ipad 上运行应用程序时它不使用 ipad 图像,它仍然使用iphone 图片。 谁能告诉我一定出了什么问题。

提前致谢。

【问题讨论】:

  • 它到底是做什么的?你在什么设备上运行?请分享正在发生的事情的图片。
  • 当我在 iphone 上运行应用程序时它工作正常(我的意思是它相应地需要 backImage.png 和 backImage@2x.png)但是当我在 ipad 上运行应用程序时它不使用 ipad 图像,它仍然使用 iphone 图片。
  • 那么,请向您添加问题。没有你告诉我们,我们怎么会知道这一点。请提供所有信息

标签: objective-c cocoa-touch uiimageview uiimage


【解决方案1】:

您需要在代码中检测正在使用的设备类型,并根据该设备类型选择合适的图像。

请看这里:iOS detect if user is on an iPad

【讨论】:

    【解决方案2】:

    我可能错了,但我不认为 UIImage 会知道是否加载图像的“纵向”或“横向”版本,更不用说在您旋转界面时动态更改它们了。我想你会期待更多的魔法。

    这些约定在应用启动快照中有效,但我认为这就是它的范围?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-13
      • 2019-10-19
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多