如何更改自定义单元格的 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 单元格中使用 IBOutlet
s 的标签到你制作的子class。
最后,在 -tableView:cellForRowAtIndexPath:
中,您应该将单元格投射到新的子 class 中,这样您就可以访问那些 IBOutlet
。假设您的网点被命名为 someLabelOutlet1
、someLabelOutlet2
和 someLabelOutlet3
,请在完成 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;
}
我有一个带有自定义原型单元格的 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 单元格中使用 IBOutlet
s 的标签到你制作的子class。
最后,在 -tableView:cellForRowAtIndexPath:
中,您应该将单元格投射到新的子 class 中,这样您就可以访问那些 IBOutlet
。假设您的网点被命名为 someLabelOutlet1
、someLabelOutlet2
和 someLabelOutlet3
,请在完成 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;
}