Фон iPhone с фиксированным положением UITableView - PullRequest
14 голосов
/ 25 декабря 2009

Я создаю приложение для iPhone без использования Interface Builder. Я установил фон сгруппированного UITableView в следующем поместье:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"groupedBackground.png"]];

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

Ответы [ 5 ]

45 голосов
/ 17 мая 2011

Мы находим, что он работает именно так, как вы просите, если вместо использования backgroundColor вы назначаете backgroundView, например так:

self.tableView.backgroundView = [[UIImageView alloc] initWithImage:
                 [UIImage imageNamed:@"background.png"]];

Затем ячейки таблицы прокручиваются поверх фона, который неподвижен. (Я полагаю, это доступно с версии 3.2 SDK.)

8 голосов
/ 06 января 2012

Вы можете добиться неподвижного фона, используя изображение шаблона следующим образом:

UIView *patternView = [[UIView alloc] initWithFrame:tableView.frame];
patternView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"groupedBackground.png"]];
patternView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
tableView.backgroundView = patternView;
5 голосов
/ 12 августа 2013

Немного поздно, но, возможно, для всех остальных, ищущих решение. Я мог бы получить эту работу, вызвав parentViewController в viewDidLoad методе UITableViewController:

self.parentViewController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]];
self.tableView.backgroundColor = [UIColor clearColor];

или с использованием только цвета фона:

self.parentViewController.view.backgroundColor = [UIColor scrollViewTexturedBackgroundColor];
self.tableView.backgroundColor = [UIColor clearColor];

Мне понадобилось время, чтобы понять это, но теперь это работает как шарм.

1 голос
/ 25 декабря 2009

Вы можете разместить дополнительный вид под UITableView и установить его фон, поэтому, если UITableView прозрачен - вы достигнете своей цели - у него будет правильный фон и он не будет прокручиваться.

0 голосов
/ 10 января 2017

используйте этот код ниже в swift 3.0, чтобы получить постоянный фон для таблицы

 self.tableView.backgroundView = UIImageView(image: UIImage(named: "background.png")!)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...