Как установить фоновое изображение в 4-х дюймовом iOS 7 и iOS 6

Я пытаюсь установить полное фоновое изображение на этом экране ниже, но я получил для вывода ниже для 4-дюймового экрана. я думал, что некоторые проблемы в строке состояния на IOS 6

У меня вопрос, как правильно установить фоновое изображение.

Рассмотрите изображение как полностью белое цветное изображение с нижним колонтитулом

Мой код

 self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:iPhone568ImageNamed(@"test.png")]];


#define isPhone568 ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone && [UIScreen mainScreen].bounds.size.height == 568)
#define iPhone568ImageNamed(image) (isPhone568 ? [NSString stringWithFormat:@"%@-568h.%@", [image stringByDeletingPathExtension], [image pathExtension]] : image)
#define iPhone568Image(image) ([UIImage imageNamed:iPhone568ImageNamed(image)])

Примечание: не учитывайте дизайн кнопки / выравнивание

iOS 6 - 4-дюймовый экранiOS 6 - 4-дюймовый экран

iOS 7 - 4-дюймовый экран

введите описание изображения здесь

3 ответа

Предполагая, что вы работаете с UIView вашего контроллера видимости (как кажется из self.view. backgroundColor):

  • На iOS 6 рамка просмотра начинается с y==20 (так после строки состояния).
  • На iOS 7, однако, представление начинается в верхней части экрана, поэтому при y==0 и под строкой состояния.

Поэтому высота представления на iOS 7 на 20 пунктов больше.

iOS 7 использовать

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;

iOS 6 использовать

    self.wantsFullScreenLayout = YES;
 [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent];

Используйте этот

[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"imagename.png"]]];
Другие вопросы по тегам