如何更改自定义单元格的 UILabel 文本?

How to change Custom Cell's UILabel Text?

我有一个带有自定义原型单元格的 table 视图,该单元格上有 3 个不同的标签。我如何访问这些标签?我需要更改他们的文本。我到处搜索,在这种情况下没有找到对我有帮助的东西。我有以下代码:

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"basicCell" forIndexPath:indexPath];

    //change cell's 3 labels' text here

    return cell;


}

如何访问上面单元格的 3 个不同标签?

您需要制作一个 class,它是 UITableViewCell 的子 class,并将自定义单元格的 class 设置为您制作的 class .然后你想 link 单元格中使用 IBOutlets 的标签到你制作的子class。

最后,在 -tableView:cellForRowAtIndexPath: 中,您应该将单元格投射到新的子 class 中,这样您就可以访问那些 IBOutlet。假设您的网点被命名为 someLabelOutlet1someLabelOutlet2someLabelOutlet3,请在完成 subclassing 后执行以下操作

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

    SomeTableViewCellSubclass *cell = (SomeTableViewCellSubclass *)[tableView dequeueReusableCellWithIdentifier:@"basicCell" forIndexPath:indexPath];

    cell.someLabelOutlet1.text = @"sometext"
    cell.someLabelOutlet2.text = @"sometext"
    cell.someLabelOutlet3.text = @"sometext"

    return cell;
}

cellForRowAtIndexPath中,您可以访问这些标签

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
    CustomCell *cell =[tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
    if (!cell) {
    [tableView registerNib:[UINib nibWithNibName:@"CustomCell" bundle:nil] forCellReuseIdentifier:@"CustomCell"];
    cell = [tableView dequeueReusableCellWithIdentifier:@"CustomCell"];
    // set common properties here
    cell.lbl1.textColor=[UIColor whiteColor];
    cell.lbl1.backgroundColor=[UIColor redColor];
    cell.lbl1.font=[UIFont fontWithName:@"Verdana" size:16.0];
    }
    cell.lbl1.text=@"lbl1Txt";
    cell.lbl2.text=@"lbl2Txt";
    cell.lbl3.text=@"lbl3Txt";
    return cell;
}