Повторяющееся фоновое изображение в родном приложении для iPhone

StackOverflow https://stackoverflow.com/questions/224503

Вопрос

Если не считать размещения UIWebView в качестве самого заднего слоя в моем файле nib, как я могу добавить повторяющееся фоновое изображение в приложение для iPhone (например, вельветовый вид на фоне сгруппированного UITableView)?

Нужно ли мне создать изображение размером с экран iPhone и вручную повторить его с помощью копирования и вставки?

Это было полезно?

Решение

Очевидно, что UIColor - это не обязательно один цвет, но также может быть рисунком.К сожалению, это не поддерживается в Interface Builder.

Вместо этого вы устанавливаете фоновый цвет представления (скажем, in -viewDidLoad) с помощью удобного метода +colorWithPatternImage:и передайте ему изображение пользовательского интерфейса.Например:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor colorWithPatternImage: [UIImage imageNamed:@"gingham.png"]]; 
}

Конечно, не забудьте добавить файл изображения в свой пакет приложений.

Есть также несколько встроенных фоновых рисунков "цвета".:

  • groupTableViewBackgroundColor ( Групповой просмотр)
  • viewFlipsideBackgroundColor Просмотр flipsidebackgroundcolor

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

Например:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor groupTableViewBackgroundColor]; 
}

Другие советы

Вам следует взглянуть на пример кода iPhone от QuartzDemo от Apple, в частности, QuartzImageDrawing.m. Следует использовать следующий вызов метода.

CGContextDrawTiledImage

Вы можете даже иметь анимированные мозаичные фоновые изображения, которые перемещаются. : D

Приложения Amuck имеют простое руководство, в котором показано, как это сделать на своем сайте.

31 день iPhone-приложений - День 16: Мировое турне

Вы должны использовать colorWithPatternImage

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top