2013-12-26 4 views
0

Я пытаюсь настроить внешний вид пользовательского интерфейса моего приложения. Я использовал следующий код, который отлично работает на не 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 
+0

вместо этого вы должны использовать соглашения об именах изображений; ваш _Bible_ находится здесь: https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html. – holex

ответ

1

Вы не должны использовать этот тип условия для загрузки изображений сетчатки глаза,

Помещенных два изображений

  1. menubar.png (не сетчатка) (например, 30 X 30 px)
  2. [email protected] (сетчатка изображения) (например 60 X 60 точек)

Теперь вы просто использовать

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

IOS будет автоматически загружать сетчатку изображение, если устройство является сетчатка.

Смежные вопросы