所以,这个标题可能让我看起来很新,就像我没有在这里寻找答案一样,首先,让我说明:我已经检查了将背景设置为透明的答案,以及选择自定义(也没有用)。
我的观点:我创建了一个自定义表格视图单元格,将所有内容设置为透明,但没有任何内容透明。
所以我看了这里,浏览了所有子视图,他们的子视图和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模拟器,很快就会抓住它,看看它是否是版本问题
答案 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];
...
}