2014-02-18 2 views
0

Так что мне нужно различать устройства размера экрана (3,4 или 4 дюйма), чтобы выбрать нужное изображение для отображения.Состояние экрана экрана UIImage странное поведение

Вот что я сделал: - от here

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

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

Вне зависимости от размера экрана вид изображения всегда содержит увеличенное изображение и простирается за пределы экрана (на 3,5")

Am Я делаю что-то неправильно, я пробовал несколько других вещей, и он всегда делал то же самое.

EDIT: Даже если я никогда не выбираю более крупное изображение, оно по-прежнему остается на экране во время работы:

 self.tutorialImageView.image = [UIImage imageNamed:@"tutorialOverlay.png"]; 

Это все еще большее изображение?

+1

проверить разрешение изображения 4 дюйма 640x1136 и 3,5 дюйма 640x960 – codercat

+0

Другое сообщение вашего снимка экрана – codercat

+1

может быть вашим размером UIImageView увеличенным путем авторазрешения в iOS 7.0. проверьте свой размер UIIMageview и сравните его после запуска приложения –

ответ

0

вы проверили, UIViewContentMode из UIImageView? Попробуйте, установив UIViewContentModeScaleAspectFit и проверьте, работает ли он.

0

не используйте @ 2x в вашей строке изображения. потому что каждое устройство сетчатки автоматически позаботится об этом.

Использование должно сохранять текст изображения, например [email protected], но я должен использовать только без расширения 2x. правильно использовать [UIImage imageNamed:@"image.png"]; это для 3,5 дюйма.

Как использовать расширение экрана на 4 дюйма с -568h. Например:

[email protected] использовать как [UIImage imageNamed:@"image-568h.png"];

self.tutorialImageView.image = [UIImage imageNamed:@"tutorialOverlay-568h.png"]; 

enter image description here более подробно

https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/App-RelatedResources/App-RelatedResources.html

Отредактировано:

self.navigationcontroller.navigationbar.translucent = NO; 
+0

Пробовал это, ничего ... – flux

+0

Опубликовать свой снимок экрана легко найти решение – codercat

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