Как установить UITableView фон для изображения? - PullRequest
3 голосов
/ 01 декабря 2010

Я заметил, что во многих приложениях есть пользовательское фоновое изображение для UITableView (или было установлено цвет фона).

Я не могу найти какой-либо API в классе UITableView, чтобы повлиять на это, и мои попытки в построителе интерфейса потерпели неудачу (попытка установить цвет UIView)

Есть предложения? Я видел стороннее приложение с картинками, поэтому знаю, что это можно сделать.

Ответы [ 8 ]

15 голосов
/ 10 июня 2012

Я сам натолкнулся на тот же вопрос, но нашел способ сделать это, о чем говорил TomSwift. Как он упомянул, UITableView имеет свойство backgroundView, которое предназначено для того, чтобы делать то, что вы ищете. Если вы хотите установить цвет фона, вы должны вместо этого использовать свойство backgroundColor, как уже говорили другие. Итак:

// Set an image as the background of a UITableView called 'tableView'
UIImageView *bg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"MyImage.png"]];
[tableView setBackgroundView:bg];

или

// Set a solid color as the background of a UITableView called 'tableView'
// In this case I chose red
[tableView setBackgroundColor:[UIColor redColor]];
2 голосов
/ 20 января 2011

попробуйте это. это работает для меня.

CALayer *background = [CALayer layer];
background.zPosition = -1;
background.frame = self.view.frame;
background.contents = [[UIImage imageNamed:@"background.jpg"] CGImage];
[tableView.layer addSublayer:background];
2 голосов
/ 01 декабря 2010

добавьте эту строку в ваш код, где вы хотите установить цвет фона для вашего изображения

[YourView (или imageView) setbackgroundColor: [UIColor groupTableViewBackgroundColor]];

Спасибо

2 голосов
/ 01 декабря 2010
UIImageView *image = [[UIImageView alloc] initWithImage:
                                    [UIImage imagenamed:@"no_image.png"]];
[self.view addSubview:image];
UITableView *tableview = [[UITableView alloc] init];
[image addSubview:tableview];
tableview.backgroundcolor = [UIColor clearColor];
1 голос
/ 04 мая 2012

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

0 голосов
/ 24 августа 2012

Вот как я это сделал.Вероятно, не лучшим образом, но работает достаточно хорошо.

UIImage *bg = [UIImage imageNamed:@"bg"];
[bg drawInRect:self.view.window.frame];
UIImageView *bgView = [[UIImageView alloc] initWithFrame:self.view.window.frame];
bgView.image = bg;

activityTable.backgroundView = bgView;  //activityTable = UITableView
0 голосов
/ 01 декабря 2010

альтернативное решение GhostRider Без кодирования

Сделайте UiImageView создателем интерфейса, поместите ваше изображение в ресурсы.установите его в свойстве UIImageView Image с помощью Inspector.выберите табличное представление и установите его цвет фона, чтобы очистить (для этого установите непрозрачность до 0, используя инспектор атрибута).

0 голосов
/ 01 декабря 2010

Установить свойство backgroundView для tableView. Вы можете установить его в представление, в котором вы установили пользовательский backgroundColor, или в UIImageView, в котором вы установили изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...