如何更改 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 对象。
一个解决方案可以是,maintain
flag
说你有
//Add in your .h file
BOOL hidePushLabel;
现在像这样在tableview
中使用这些flag
到hide
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 的自定义操作中获取点击的表格视图单元格