自定义UITableViewCell显示空白

时间:2014-01-28 09:44:54

标签: ios objective-c uitableview

我创建了一个xib文件,然后创建了一个tableViewCell类。我附上了如何将插座连接到文件的照片。我正在尝试为在tableview单元格创建期间创建的单元格指定值,但是一旦应用程序运行,单元格就会一直显示为空白。以下是我的代码和xib文件的一些屏幕截图。                     任何帮助都会受到大力赞赏。

5 个答案:

答案 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 ...