2013-09-12 3 views
0

Я установил фон зрения, как показано ниже:Почему не отображается весь мой образ во время работы приложения в Iphone (Retina 4 дюйма)

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed: 
@"backgr.png"]]; 

Это работает нормально, когда я запускаю его в iPhone 4 (Retina 3,5 дюймовый). Но когда я запускаю его в iphone 5 (Retina 4-inch) изображение не установлено или отображается правильно. Изображение выглядит как 4-кратное увеличение/ взрывается.

EDIT:

I have two different images for iphone 4(640x960) and 5(640x1136). 

What is the problem here? Is it scaling problem or another problem? 
Please guide me on this. 

ответ

0

Вы должны использовать два различных изображения для iPhone 4 и iPhone 5.Because как устройства имеют разное разрешение. Вам нужно это проверить.

if ([UIScreen mainScreen].bounds.size.height == 568) 
    { 
     // ------- iPhone 5 
    } 
    else 
    { 
     // ---------- iPhone 4 
    } 
+0

iPhone 5 Высота экрана 568 друга. –

+0

См. Мой обновленный вопрос. Я уже использую два разных изображения для iphone 4 и 5. – Ponting

+0

Ponting, вы @ 2x изображение в своем проекте? –

1

разрешение для обоих дисплеев различны, так что вам нужно поставить условие и, соответственно, установить новое изображение с более высоким разрешением для iPhone 5 (4 дюйма сетчатка) дисплей.

и это условие можно поставить как

if ((int)[[UIScreen mainScreen] bounds].size.height == 568) 
{ 
    // This is iPhone 5 screen 
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgr_iPhone5.png"]]; 
} else { 
    // This is iPhone 4 screen 
    self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backgr.png"]]; 
} 
1

Вот что-то, что может быть удобно:

#define IS_PHONEPOD5() ([UIScreen mainScreen].bounds.size.height == 568.0f && 
[UIScreen mainScreen].scale == 2.f && 
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 

и

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

     if(IS_PHONEPOD5()) 
     { 
       self.imageView.image = [UIImage imageNamed:@"[email protected]"]; 
     } 
     else 
     { 
       self.imageView.image = [UIImage imageNamed:@"image"]; 
     } 
}