我有一个自定义 UIView 子类排行榜,它本身包含一个 tableview tblLeaderboard。该接口是使用 xib 创建的。此外,我有一个 UITableViewCell 子类 LeaderboardCell,它也有一个 xib。我在表格视图中注册单元格时遇到问题。
这是我尝试过的,首先我用tableview注册了笔尖:
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self)
{
leaderInfo = [NSMutableArray array];
tblLeaderboard.dataSource=self;
[tblLeaderboard registerNib:[UINib nibWithNibName:@"LeaderboardCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"leaderboardCell"];
}
return self;
}
然后在初始化单元格时,我有:
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"leaderboardCell";
LeaderboardCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[LeaderboardCell alloc]
initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:CellIdentifier];
}
//ADDED THIS IN CASE DEFAULT CELL WAS LOADED
cell.textLabel.text = [[leaderInfo objectAtIndex:indexPath.row] objectForKey:@"name" ];
cell.name.text = [[leaderInfo objectAtIndex:indexPath.row] objectForKey:@"name"];
cell.score.text = [[[leaderInfo objectAtIndex:indexPath.row] objectForKey:@"score"] stringValue];
return cell;
}
单元格不加载笔尖。它只是创建一个自定义单元格(默认单元格正确加载名称和分数,所以我知道数据源工作正常)。
我不确定我是否因为使用 UIView 而不是 ViewController 来控制我的 UITableView 而遇到麻烦?