Метод rkbang backgroundColor = [UIColor colorWithPatternImage: image]
отлично работает. Вот еще один метод для достижения того же эффекта путем добавления нового представления в parentViewController. Это было бы полезно, если вы хотите замаскировать другое содержимое, которое может иметь parentViewController.
В вашем подклассе UITableViewController, в -viewDidLoad
вставьте:
//make a cool background image
self.tableView.backgroundColor = [UIColor clearColor];
UIImage *patternImage = [UIImage imageNamed:@"backgroundImage.png"];
UIImageView * backgroundImageView = [[UIImageView alloc] initWithImage:patternImage];
[self.parentViewController.view addSubview:backgroundImageView];
[self.parentViewController.view sendSubviewToBack:backgroundImageView];
//release the background image and image view (the backgroundImageView is still retained by the parentViewController)
[patternImage release];
[backgroundImageView release];
Возможно, вы захотите отслеживать backgroundImageView, чтобы вы могли удалить или заменить его. Приведенный выше пример кода оставляет parentViewController для управления новым представлением. Если вы загружаете и выгружаете этот UITableView, вы будете пропускать эти UIImageViews при каждой загрузке, если только parentViewController не выпускает их с одинаковой скоростью.