почему при переходе изображение запуска iPhone не совпадает с фоновым изображением основного экрана? - PullRequest
3 голосов
/ 28 августа 2011

Фон:

  • У меня есть приложение для iPhone, для которого я хочу, чтобы начальное изображение было точно таким же, как фоновое изображение для основного экрана, чтобы при загрузке запускаизображение », то, когда приложения загружают главный экран, фоновое изображение будет таким же, и идеально выровнено, чтобы не было никаких изменений в воспринимаемом фоне

  • в главном экране viewDidLoadЯ загружаю то же изображение в UIImageView, который занимает все окно

Проблема:

  • , что я получаю, есть вертикальное смещение, поэтому естьЗаметное изменение при переходе
  • По-видимому, проблема заключается в выравнивании по вертикали стартового изображения, поскольку верхняя часть стартового изображения начинается выше нижней части этой «несущей - время - батарея»."bar - кажется, что это стартовое изображение может быть расположено так, чтобы его вершины находились сверху этого
  • , тогда как верхняя часть фонового изображения дляГлавный экран (после загрузки) находится в нижней части панели «Носитель - время - батарея»

ВОПРОС: Почему существует смещение?Как лучше это исправить?

спасибо

Ответы [ 3 ]

3 голосов
/ 28 августа 2011

Нет необходимости использовать два разных изображения для вашего начального изображения и фонового изображения.

Просто установите фоновое изображение contentMode на UIViewContentModeBottom, чтобы решить эту проблему.

например:

backgroundImageView.contentMode = UIViewContentModeBottom;

1 голос
/ 28 августа 2011

Значение Default.png должно быть 320x480 (640x960 @ 2x), после просмотра вы должны иметь только 320x460 (640x920 @ 2x) из-за строки состояния.

Попробуйте использовать 2 различных Backgroundimages 320x480 для запуска (верхние 20px могут быть пустыми) и 320x460 (640x920 @ 2x) для вашего приложения.

0 голосов
/ 30 апреля 2012

Это решение работает для стандартных и сетчатки на iPhone и iPad в книжной или альбомной ориентации с панелью вкладок или без нее. Это необходимо, потому что изображение запуска iPhone перекрывает строку состояния, а iPad - нет. Источник: http://developer.apple.com/library/ios/#documentation/userexperience/conceptual/mobilehig/IconsImages/IconsImages.html

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                                         duration:(NSTimeInterval)duration
{
    if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
        if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
            [self.backgroundImage setImage:[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Default" ofType:@"png"]]];
        else
            [self.backgroundImage setImage:[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Default-Portrait" ofType:@"png"]]];
    } else {
        [self.backgroundImage setImage:[UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Default-Landscape" ofType:@"png"]]];
    }

    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
        self.backgroundImage.transform = CGAffineTransformMakeTranslation(0, -20);
    else 
        self.backgroundImage.transform = CGAffineTransformIdentity;
}

Используемые изображения:

  • По умолчанию ~ iphone.png
  • Default@2x~iphone.png
  • По умолчанию Автопортрет ~ ipad.png
  • Default-Portrait@2x~ipad.png
  • Default-пейзаж ~ iphone.png
  • Default-пейзаж ~ ipad.png
  • Default-Landscape@2x~iphone.png
  • Default-Landscape@2x~ipad.png

В Интерфейсном Разработчике поместите свое фоновое изображение как это:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...