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")!)