如何更改 viewDidLoad 中的自定义单元格标签参数?

Posted

技术标签:

【中文标题】如何更改 viewDidLoad 中的自定义单元格标签参数?【英文标题】:How can I change custom cells label parameters in viewDidLoad? 【发布时间】:2015-04-15 06:33:46 【问题描述】:

我有一个名为MyCustomCell 的自定义单元格,有一个名为pushLabel 的标签,在表格视图中我得到的标签参数如下:

cell.pushLabel.text = @"text";

我需要在viewDidLoad(表格视图所在的位置)中获取该标签参数,如何做到这一点?

【问题讨论】:

在 viewDidLoad 方法中,UITableView 仍然没有被加载。明确您的要求 我需要将此标签设置为隐藏在viewDidLoad中,在这里我可以使用if语句并检查是否需要完成。 为什么不能设置这个标签隐藏在tableView:cellForRowAtIndexPath:中? 弗拉基米尔,因为如果我在那里设置 IF 语句,它会重用单元格并且结果是错误的。 是的,如果您不明确设置它们,它将为新单元格重用标签状态(文本和其他参数)。在您的示例中,您只需使用 cell.pushLabel.text = @"". 添加 else 块 【参考方案1】:

viewDidLoad 方法中,UITableView 应该还没有被加载,所以你无法获取 UITableViewCell 对象。

一个解决方案可以是,maintainflag 说你有

//Add in your .h file
BOOL hidePushLabel;

现在像这样在tableview 中使用这些flaghide intially

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

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

   if (cell)
   
       //By default hidePushLabel will be NO so hide pushLabel
       if(!hidePushLabel)
          cell.pushLabel.hidden = YES;
       else
          cell.pushLabel.hidden = NO;
   
   return cell;

【讨论】:

以上是关于如何更改 viewDidLoad 中的自定义单元格标签参数?的主要内容,如果未能解决你的问题,请参考以下文章

更改单元格中的数据后,UITableView 中的自定义单元格将无法正确重新加载

如何将 SwipeCellKit 的自定义滑动功能用于从 .xib 文件创建的自定义单元格?

如何在 UIMenuController 的自定义操作中获取点击的表格视图单元格

故事板中的自定义单元格行高度设置没有响应

自定义 UITableView 单元格中的 UILabel 未随核心数据更改而更新

使用自定义 collectionView 布局更改单元格大小时如何使用 ScrollToItem(at:)