UITableViewController фоновое изображение растянуто - PullRequest
0 голосов
/ 08 апреля 2011

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

[[self view] setAutoresizesSubviews:NO];

UIView *backgroundView = [[UIView alloc] initWithFrame:self.view.frame];
backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Default.png"]];

self.tableView.backgroundView = backgroundView;
self.tableView.backgroundColor = [UIColor clearColor];

[backgroundView release];

Изображение только 640x960 пикселей.

Я попытался вручную установить кадр backgroundView, но он не меняет размер фонового изображения.

Кто-нибудь может объяснить, где я ошибаюсь?

Большое спасибо.

1 Ответ

5 голосов
/ 08 апреля 2011

В моем опыте вы должны избегать использования

[UIColor colorWithPatternImage: ... ];

, так как это приводит к некоторым проблемам с выбором правильного изображения для устройств Retina / Low-Res.

Попробуйте что-то вроде этого:

UIImageView* bgView = [[[UIImageView alloc] initWithImage:
[UIImage imageNamed:@"Default.png"]] autorelease];

[tableView.backgroundView addSubview:bgView];

Также убедитесь, что у вас есть два PNG:

  • Default.png - 320 x 480
  • По умолчанию @ 2x.png = 640 x 960
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...