2013-03-25 42 views
0

我有一個MyTableViewController,它是UITableViewController的子類。我沒有.xib。我想設置一個UIImage我有作爲從MyTableViewController tableView的背景。 我試圖添加我的ViewDidLoadself.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_img"]];以UITableViewController的UITableView背景設置UIImage程序

但是id沒有起作用。所涵蓋的IMG是這樣的:

enter image description here

做:

UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background_img"]]; 
bgImageView.frame = self.view.bounds; 
[self.view addSubview:bgImageView]; 
[self.view sendSubviewToBack:bgImageView]; 

它看起來像這樣:

enter image description here

我怎麼能得到那個工作?

回答

-1

你需要作出透明的表視圖背景:

self.tableView.backgroundColor = [UIColor clearColor]; 
self.tableView.opaque = NO; 

然後設置視圖的背景:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"background_img"]]; 

一種更好的方式來設置背景圖片,雖然是:

UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background_img"]]; 
bgImageView.frame = self.view.bounds; 
[self.view addSubview:bgImageView]; 
[self.view sendSubviewToBack:bgImageView]; 
+0

它看起來是一樣的。 =/ – 2013-03-25 19:42:02

+0

@LucasPereira我在答案中增加了另一種方法。 – 2013-03-25 19:44:52

+0

我編輯了一張照片,看它是如何做的... – 2013-03-25 19:50:36

2

你可以這樣做:

設置TableView中的背景圖像中viewDidLoad

UIImageView *bgImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:<image>]]; 
bgImageView.frame = <tableView>.frame; 
[<tableView> setBackgroundView:bgImageView]; 

然後設置單元格的顏色在tableView:willDisplayCell:forRowAtIndexPath:清除:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    cell.backgroundColor = [UIColor clearColor]; 
}