目前我有以下方法,但它不太有用......
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
cell = tvCell;
self.tvCell = nil;
}
UILabel *label;
label = (UILabel *)[cell viewWithTag:5];
label.text = [NSString stringWithFormat:@"Hole #%d", indexPath.row];
return cell;
}
创建表视图没有错误,但每个单独的单元格什么都没有,但显然TVCell.xib有一个标签为5的标签。我唯一的问题就是这个。我不太明白苹果给出的这些步骤......
在nib文档窗口中选择File's Owner,打开检查器的Identity窗格,并将File's Owner的类设置为自定义视图控制器类。
将文件所有者的单元格出口(现在是自定义子类的占位符实例)连接到nib文件文档中的表视图单元格对象。
有人可以为我这样的菜鸟解释一下这些步骤吗?我认为这就是我搞砸了,但我本可以做错什么。
答案 0 :(得分:1)
我认为TcCell不会成为自我的财产。当单元格队列为空时,请尝试此操作:
if (cell == nil) {
cell=[[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
}
答案 1 :(得分:0)
有些难以解释你说的用语言不理解的步骤。我建议寻找有图片或视频的教程。 (我做了一个快速搜索,有很多可用的,但我真的不想选择一个指导你,而不是更仔细地阅读它们。)
但是,我更喜欢以这种方式创建自定义表格视图单元格: http://www.mobilesce.com/2011/12/27/the-best-way-to-do-custom-reusable-uitableviewcells/
它与苹果文档中描述的方式略有不同,但我看到很多人使用它,我发现它更容易。
答案 2 :(得分:0)
NSBundle方法loadNibNamed:owner:options:
返回包含nib文件中顶级对象的NSArray。试试这个:
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil) {
NSArray *nibArray = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil];
cell = [nibArray objectAtIndex:0];
}