IPhone с фиксированной позицией UITableView Background

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

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

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

Ответы

Ответ 1

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

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

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

Ответ 2

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

UIView *patternView = [[UIView alloc] initWithFrame:tableView.frame];
patternView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"groupedBackground.png"]];
patternView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
tableView.backgroundView = patternView;

Ответ 3

Немного поздно, но, возможно, для всех остальных, ищущих решение. Я мог бы получить эту работу, вызвав 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];

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

Ответ 4

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

Ответ 5

используйте этот ниже код в swift 3.0 для достижения постоянного фона для tableview

 self.tableView.backgroundView = UIImageView(image: UIImage(named: "background.png")!)