Установить UIImageView в фоновом режиме программно - PullRequest
6 голосов
/ 03 мая 2011

У меня есть класс без файла .xib, и я хочу установить фон с UIImageView с файлом .png, который у меня есть в ресурсах, я пробую это:

UIColor *background = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"background.png"]];
[[self view] setBackgroundColor:background];
[background release];

эта работа,но изображение увеличено и теряет много качества, вместо этого в другом классе с файлом XIB я устанавливаю UIImageView в фоновом режиме с помощью Interface Builder, и изображение является идеальным, я хочу знать, как я могу установить UIImageView в фоновом режиме, как я делаю впостроитель интерфейса.

Ответы [ 4 ]

8 голосов
/ 03 мая 2011

Извините, если я забыл написать, что мой класс - UITableViewController, это решение:

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[imageView setImage:[UIImage imageNamed:@"background.png"]];
self.tableView.backgroundView = imageView;
[imageView release];

спасибо всем!

5 голосов
/ 03 мая 2011

Попробуйте добавить подпредставление UIImageView вместо UIColor.

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
[imageView setImage:[UIImage imageNamed.@"background.png"]];
[self.view addSubview:imageView]; // edited for syntax
[imageView release];
3 голосов
/ 03 мая 2011
UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]];
[self.view addSubview:imgView];
[imgView release];

и если размер вашего изображения больше, чем 320x480 px, используйте ответ septi.

2 голосов
/ 03 мая 2011

Просто небольшое дополнение к уже предоставленным ответам

UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background"]];
[self.view addSubview:imgView];
[self.view sendSubviewToBack:imgView];
[imgView release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...