TableViewCell堆积起来并一次又一次出现

时间:2016-04-26 07:46:44

标签: ios objective-c iphone xcode uitableview

我用ADLively TableView实现了TableView。

但是如果我滚动tableView,那么单元格的文本就会被反复堆积......

使用" cell.textLabel"很好,添加UILabel并不比那更好但是如果我使用" cell.textLabel",我就不能调整textLabel的宽度。

(我想在文本的左侧和右侧添加UIImageView)

现在,我使用添加UILabel的方式。

我该怎么办?

这是代码。

- (void)viewDidLoad {
CGRect rect = CGRectMake(0, 50, 320, self.view.frame.size.height-150);

    self.tableView = [[ADLivelyTableView alloc]initWithFrame:rect style:UITableViewStylePlain];
    self.tableView = (ADLivelyTableView *)self.tableView;
    self.tableView.initialCellTransformBlock = ADLivelyTransformFan;

    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
    [self.view addSubview: self.tableView];
    //self.tableView.backgroundColor = [UIColor blueColor];
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.section count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
    [self updateCell:cell atIndexPath:indexPath];

    if (cell == nil){
        myCellView = [[UITableViewCell alloc]
                      initWithStyle:UITableViewCellStyleDefault
                      reuseIdentifier:@"Cell"];

        NSMutableArray *set = [self.section objectAtIndex:indexPath.row];

        tableTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 7, 220, 30)];
        tableTitleLabel.text = [set objectAtIndex:0];
        [tableTitleLabel setNumberOfLines:0];
        tableTitleLabel.backgroundColor = [UIColor clearColor];
        tableTitleLabel.textColor = [UIColor blackColor];
        tableTitleLabel.font = [UIFont fontWithName:@"HiraKakuProN-W3" size:15];
        tableTitleLabel.adjustsFontSizeToFitWidth = YES;
        tableTitleLabel.minimumScaleFactor = 10.0f;
        [myCellView.contentView addSubview:tableTitleLabel];

        }

   NSMutableArray *set = [self.section objectAtIndex:indexPath.row];
   [(UILabel *)[cell.contentView viewWithTag:1] setText:[set objectAtIndex:0]];

        return cell;
}

- (void)updateCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath
{


NSMutableArray *set = [self.section objectAtIndex:indexPath.row];

            tableTitleLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 7, 220, 30)];
            tableTitleLabel.text = [set objectAtIndex:0];
            [tableTitleLabel setNumberOfLines:0];
            tableTitleLabel.backgroundColor = [UIColor clearColor];
            tableTitleLabel.textColor = [UIColor blackColor];
            tableTitleLabel.font = [UIFont fontWithName:@"HiraKakuProN-W3" size:15];
            tableTitleLabel.adjustsFontSizeToFitWidth = YES;
            tableTitleLabel.minimumScaleFactor = 10.0f;
            [cell.contentView addSubview:tableTitleLabel];
}

1 个答案:

答案 0 :(得分:1)

在滚动中继续在单元格中添加子视图不是一个好主意,但如果您不想更改已编写的代码,请在调用之前使用以下内容删除该单元格的所有子视图{{1方法。

updateCell