【问题标题】:How can I change custom cells label parameters in viewDidLoad?如何更改 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 块

标签: ios uitableview parameters uilabel custom-cell


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    相关资源
    最近更新 更多