【问题标题】:Contdition load of UI elementsUI 元素的条件加载
【发布时间】:2013-12-26 08:05:50
【问题描述】:

我正在尝试自定义我的应用的 UI 外观。我使用了以下代码,在非 iPhone5 和后续产品(以及非视网膜显示器)上运行良好,在模拟器上看起来很棒。 但在我的 iPhone5 上它没有加载图像。

-(void)customizeAppearance
{
    UIImage* blueBG = [UIImage imageNamed:@"menubar.png"];
    [[UINavigationBar appearance] setBackgroundImage:blueBG forBarMetrics:UIBarMetricsDefault];

    UIImage* blueBack = [UIImage imageNamed:@"back.png"];
    [[UIBarButtonItem appearance] setBackButtonBackgroundImage:blueBack forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];

    UIImage* blueTabBG = [UIImage imageNamed:@"tabbar-active.png"];
    [[UITabBar appearance] setBackgroundImage:blueTabBG];

我怎样才能像这样有条件地加载资源

if(___IPHONE5ORLATER)
 load retina images
else
 load non retina images

【问题讨论】:

标签: ios xcode ios-simulator retina-display


【解决方案1】:

您不必使用这种类型的条件来加载视网膜图像,

放两张图片

  1. menubar.png(非视网膜)(例如 30 X 30 像素)
  2. menubar@2x.png(视网膜图像)(例如 60 X 60 像素)

现在你简单使用

UIImage* blueBG = [UIImage imageNamed:@"menubar"];

如果设备是视网膜,iOS 会自动加载视网膜图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多