UITableview背景视图颜色-iphone

use*_*584 2 iphone background objective-c uitableview

我有一个没有XIB的UITableview控制器.我通过这样做设置tableview的背景颜色:

[self.tableView setBackgroundColor:[UIColor colorWithPatternImage:
                                    [UIImage imageNamed:@"MmyImage.png"]]];
Run Code Online (Sandbox Code Playgroud)

我的图像是一个渐变图像,所以尽管上面的代码没问题,但是当tableview进入编辑视图时,它会重绘每个单元格的图像,并且它看起来像看起来不优雅的线条.

我想将tableviews背景设置为清除颜色并将superview的颜色设置为图像,以便tableview在superview上平滑过渡.但是,以下代码不起作用:

[self.view setBackgroundColor:[UIColor colorWithPatternImage:
                               [UIImage imageNamed:@"myImage.png"]]];
[self.tableView setBackgroundColor:[UIColor clearColor]];
Run Code Online (Sandbox Code Playgroud)

这使得背景完全变白,我不知道为什么.

帮助赞赏..谢谢.

编辑:新代码,但这不起作用:

   UIImageView * imgBg = [[UIImageView alloc] initWithImage:[[UIImage imageNamed:@"myImage.png"] stretchableImageWithLeftCapWidth:6 topCapHeight:6]];
     imgBg.frame = self.tableView.window.bounds;
    [self.tableView.superview addSubview:imgBg];
//[self.view addSubview:imgBg];
    //[self.tableView.window sendSubviewToBack:imgBg];
    //[self.view  bringSubviewToFront:self.tableView];
    [self.tableView setBackgroundColor:[UIColor clearColor]];
    [imgBg release];
Run Code Online (Sandbox Code Playgroud)

Dee*_*olu 6

在自定义UITableViewController子类中,self.view将返回相同的self.tableView.所以你在那里做的是改变同一个对象.最后,你会看到UIWindow.所以为了获得理想的结果,你应该这样做 -

[self.view.window setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"myImage.png"]]];
[self.tableView setBackgroundColor:[UIColor clearColor]];
Run Code Online (Sandbox Code Playgroud)

UITableViewbackgroundView房产.用它.

aTableView.backgroundView = [[[UIView alloc] initWithFrame:aTableView.bounds] autorelease];
aTableView.backgroundView.backgroundColor = backgroundColor;
Run Code Online (Sandbox Code Playgroud)