uitableviewcell中的自定义标签

时间:2013-12-29 19:16:19

标签: objective-c

我试图制作自定义标签而不是标准的textabel和detailtextlabel。

我尝试通过创建一个名为“labelNumb”的标签来做到这一点,但它不会在单元格中打印它怎么样以及如何将这个标签放在单元格中?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{


    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }


    cell.userInteractionEnabled = NO;



    UILabel *labelNumb = [[UILabel alloc] init];
    [cell.contentView addSubview:labelNumb];
    labelNumb.text = [NSString stringWithFormat:@"%@",[scoreArray2 objectAtIndex:indexPath.row]];
    return cell;
}

2 个答案:

答案 0 :(得分:1)

您尚未设置labelNumb的框架。

此外,if (cell == nil)永远不会发生,因为dequeueReusableCellWithIdentifier:forIndexPath:可以保证返回一个单元格。

此外,当你开始滚动时,这会搞乱,因为你每次都要添加一个新的UILabel,而不是重复使用现有的UILabel。

答案 1 :(得分:0)

  1. 检查cell是否为零,如果是,则创建一个具有相同UITableViewCell的新identifier
  2. 制作一个新框架,将UILabel添加到其中,然后将其传递给 addSubview:方法。