我之前没有问题就完成了自定义UITableViewCells ..但我无法弄清楚当前项目发生了什么。
这就是我所做的......
tableView:cellForRowAtIndexPath:
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
NSLog(@"DO I GET HERE?");
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
cell = [topLevelObjects objectAtIndex:0];
}
我希望我的tableview单元显示为黑色?但他们仍然表现出白色......任何想法?谢谢!
更新:好的,结果是,它正在加载自定义单元格...我添加了一个带有一些白色文本的UILabel。我看不到它,但当我突出显示单元格时,我可以看到文本在那里。所以现在问题变成了,为什么细胞忽略了我为细胞设定的黑色背景?
答案 0 :(得分:1)
编辑:至于为什么它不是黑色 - 我希望有一些东西遮住你的黑色 - 最有可能的候选者是标签背景是白色而且不清晰。
以及第3点。
属性检查器(第4个选项卡)需要将重用标识符设置为您要重用的标识符(在问题中使用@“cell”)。我会尝试使用更具体的东西 - 毕竟在某些应用程序中,您可能有许多类型的自定义单元格。
我认为您还需要将topLevelObjects转换为(CustomCell *)
if (cell == nil) {
NSLog(@"DO I GET HERE?");
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil];
cell = (CustomCell*)[topLevelObjects objectAtIndex:0];
}
答案 1 :(得分:1)
似乎忽略了我设置的背景颜色,所以我只是用背景颜色添加一个UIView,这似乎有用..
答案 2 :(得分:0)
您必须使用tableview注册自定义单元格
这需要在调用该委托之前发生:
[self.tableView registerClass: [CustomCell class] forCellReuseIdentifier:@"CellIdentifier"];