SDK для iPhone:Как добавить подпредставление изображения в UITableViewController и при этом видеть ячейки?

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

Вопрос

Я добавляю подпредставление изображения в UITableViewController с сгруппированной таблицей.После добавления подпредставления изображения я вижу заголовки таблиц поверх изображения, но ячейки рисуются позади изображения.

Нужно ли что-то еще сделать, чтобы ячейки таблицы отображались поверх фонового изображения?Вот код, который я использую в viewDidLoad UITableViewControlle:

CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 959.0f); 
UIImageView *backImageView = [[UIImageView alloc] initWithFrame:myImageRect]; 
[backImageView setImage:[UIImage imageNamed:@"somebackground.png"]]; 
[self.view addSubview:backImageView];
[self.view sendSubviewToBack:backImageView];
[backImageView release];

Я понимаю, что в качестве альтернативы я мог бы просто создать составное представление и поместить поверх него табличное представление, а не то, что я пытаюсь сделать здесь.Если другого решения не будет, я так и сделаю, но предпочел бы использовать подход, который пытаюсь использовать, если это вообще возможно.

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

Решение 2

Похоже, что UITableView часто меняет порядок представлений при обновлении.Таким образом, вам необходимо вручную управлять сбросом zorder для любых событий таблицы, таких как вставка/удаление/обновление строк.

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

Это сгруппированное табличное представление.Из документов Apple:

The grouped style of table view provides a default background color and a default background view for all cells.

Это означает, что за вашей таблицей вставляется изображение по умолчанию.Вы хотите заменить это своим собственным представлением, например:

CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 959.0f); 
UIImageView *backImageView = [[UIImageView alloc] initWithFrame:myImageRect]; 
[backImageView setImage:[UIImage imageNamed:@"somebackground.png"]]; 
self.tableView.backgroundView = backImageView;

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

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