在重用单元格时向第一个UITableViewCell行添加标签

时间:2011-08-25 11:25:34

标签: uitableview uilabel

是否可以在重用单元格时向UITableViewCell添加标签?这是我一直在尝试的代码,但是当我向下滚动并且单元格被重用时,我的标签会移动。我只是想在第一排的标签,但我无法想象我的生活。我知道我不能重复使用单元格它会工作,但我想重用细胞。请帮我解决这个问题。非常感谢你......

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

    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SimpleTableIdentifier];

    if (cell == nil){

        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:SimpleTableIdentifier] autorelease];

    }

    if ([indexPath row] == 0) {

        UILabel* Label = [[UILabel alloc] initWithFrame:CGRectMake(2,2, 62, 23)];

        [Label setText:@"Text"];

        [cell addSubview:Label]; 

        [Label release];
    }

    return cell;

}

1 个答案:

答案 0 :(得分:3)

我想我明白了。我让第一排不可重复使用。

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

    static NSString *CellsToBeReused = @"CellsToBeReused";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellsToBeReused];

    if (cell == nil){
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellsToBeReused] autorelease]; 
    }
    if ([indexPath row] == 0) {
        UITableViewCell *first_Cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
        UILabel* Label = [[UILabel alloc] initWithFrame:CGRectMake(2,2, 62, 23)];
        [Label setText:@"Text"];
        Label.backgroundColor = [UIColor whiteColor];
        [first_Cell.contentView addSubview:Label];
        [Label release];
        return first_Cell;        
    } else  {
        return cell;        
    }
}