在自定义UITableViewCell iOS 5上将背景设置为透明不起作用,没有任何技巧正常工作

时间:2012-02-12 07:46:26

标签: uitableview ios5 transparent

所以,这个标题可能让我看起来很新,就像我没有在这里寻找答案一样,首先,让我说明:我已经检查了将背景设置为透明的答案,以及选择自定义(也没有用)。

我的观点:我创​​建了一个自定义表格视图单元格,将所有内容设置为透明,但没有任何内容透明。

所以我看了这里,浏览了所有子视图,他们的子视图和cell.backgroundColor并将其设置为透明。

我实现了 - (tableView *)willDisplayCell方法并执行了建议的步骤,仍然不透明。

我搞砸了setSelected:callback方法,做了推荐,并将子视图设置为透明。

现在我必须感谢Apple的白色背景。

所以我最终只是插入了一个颜色相似的图像视图。我宁愿不使用那种方法。

我将类型设置为自定义表格视图单元格(在Xib中,我在右侧主视图属性的下拉列表中选择了“自定义”)。

这是我的代码: [code](抱歉格式化,StackOverflow说tab键会在浏览器中执行...)

 if (cell == nil) {

        NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"TheCustomTableViewCellTableViewCell" owner:self options:nil];

        // Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).

        cell = [topLevelObjects objectAtIndex:0];

       // Load the top-level objects from the custom cell XIB.

        TheCustomTableViewCell * customCell = (TheCustomTableViewCell*)cell;

        customCell.titleTextLabel.text = item.title;

//This is Matt Gallagher 's answer modified but isn't working       

cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)] autorelease];

        cell.selectedBackgroundView.backgroundColor = [UIColor redColor];

[/代码]

最后请注意,我已经尝试将我的Xib中的不同视图挂钩为“backgroundView”并将它们设置为透明,以及创建我自己的,好奇的,如果有一个特定的方式我必须这样做才能得到它最后是透明的。

我有一种感觉,递归循环遍历每个视图并不是最好的解决方案,并且可能不起作用。

可能只是我需要重新启动计算机,但我已经清理了构建并重新启动了XCode 4.

任何帮助都将非常感激...我在Xcode 4 iOS 5中,如果您尝试在其他窗口中编辑它,那么通过从Xib编辑器中删除所有编辑功能,使双监视器毫无意义!只是具体而言。此外,安装是新鲜的,我没有iOS 4模拟器,很快就会抓住它,看看它是否是版本问题

1 个答案:

答案 0 :(得分:2)

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.tableView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]];
...
}

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