我创建了一个xib文件,然后创建了一个tableViewCell类。我附上了如何将插座连接到文件的照片。我正在尝试为在tableview单元格创建期间创建的单元格指定值,但是一旦应用程序运行,单元格就会一直显示为空白。以下是我的代码和xib文件的一些屏幕截图。 任何帮助都会受到大力赞赏。
答案 0 :(得分:2)
您正在对单元格进行dequeing,然后再次实例化它。只需删除cell = [[LeagueCell alloc] init];
答案 1 :(得分:0)
删除第cell=[[LeagueCell alloc] init];
行
并按如下方式更改单元初始化:
cell = [[NSBundle mainBundle] loadNibNamed:@"LeagueCell" owner:self options:nil] objectAtIndex:0]
答案 2 :(得分:0)
尝试将标签设置为标签
UILabel *name = (UILabel *)[cell viewWithTag:100];
UILabel *position = (UILabel *)[cell viewWithTag:101];
UILabel *score = (UILabel *)[cell viewWithTag:102];
cell.name = [currentObject valueForKey:@"username"];
//rest of the code similarly
同时加上
cell = [[LeagueCell alloc] init];
里面
if (cell == nil) {
cell = [[LeagueCell alloc] init];
}
答案 3 :(得分:0)
在ViewDidLoad
UINib *nib = [UINib nibWithNibName:@"LeagueCell" bundle:nil];
[self.tableView registerNib:nib forCellReuseIdentifier:@"LeagueCellCellIdentifier"];
现在,在CellForRowAtIndexPath
LeagueCell *pnCell = [tableView dequeueReusableCellWithIdentifier:@"LeagueCellCellIdentifier"];
return pnCell;
注意:在CellForRowAtIndexPath
ViewDidLoad
中使用相同的CellIdentifier
答案 4 :(得分:0)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellidenfier=@"cell";
League *cell=[tableView dequeueReusableCellWithIdentifier:cellidenfier];
if (cell==nil) {
cell=[[[NSBundle mainBundle]loadNibNamed:@"League" owner:self options:nil]objectAtIndex:0];
}
return cell;
}
请确保文件所有者具有类NSObject,并且您的自定义单元格具有您的类名称类。从自定义类创建一个插座,而不是使用fileowner ...