如何使UITableView成为透明的?

时间:2011-09-13 12:05:06

标签: iphone uitableview opacity background-color

在我的应用程序中,我向用户呈现特定场景的UITableViewController类(分组样式)。我想只显示表格视图的单元格。背景应该是透明的,以便用户可以看到上一页。

我在表视图控制器的viewDidLoad方法中尝试使用以下代码。但他们没有工作..

self.tableView.backgroundColor = [UIColor clearColor];

self.tableView.opaque = NO;

self.tableView.backgroundView = nil;

是否可以显示背景暗淡的细胞?

先谢谢

2 个答案:

答案 0 :(得分:8)

我使用:(在viewDidLoad中)

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

然后在cellForRowAtIndexPath:

cell.textLabel.backgroundColor = [UIColor clearColor];
    cell.detailTextLabel.backgroundColor = [UIColor clearColor];
    cell.backgroundColor = [UIColor colorWithWhite:1 alpha:.55];

不确定这是否是您想要的,但它为您提供了清除所有内容的选项。 (显然,对于你的情况,alpha会改变,但是测量细胞的能力)

答案 1 :(得分:1)

只是改变tableView没有帮助。你也必须弄乱细胞。在cellForRowAtIndexPath:(NSIndexPath *)indexPath方法中,将它放在return语句之前:

UIView * bgView =[[UIView alloc] initWithFrame:CGRectZero] autorelease];
bgView.backgroundColor = [UIColor clearColor];
cell.backgroundView = bgView;