Повторяющееся фоновое изображение в родном приложении для iPhone
-
03-07-2019 - |
Вопрос
Если не считать размещения 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 имеют простое руководство, в котором показано, как это сделать на своем сайте.
Вы должны использовать colorWithPatternImage