繁体   English   中英

自定义uitableviewcell标签隐藏/显示

[英]custom uitableviewcell label hide/show

我的表格视图控制器中有一个自定义表格视图单元格。 在我的单元格上有一个标签,我想根据行信息显示/隐藏。 我可以根据行信息轻松显示/隐藏标签。 但是,是否可以根据该标签是否存在来扩展或折叠表格单元格的高度? 我希望该标签只有一行数据。

使用heightForRowAtIndexPath调用有条件地返回0或高度,并在必须扩展/收缩时调用reloadItemsAtIndexPath。

使用-tableView:heightForRowAtIndexPath:

UITableViewDelegate附加到UITableView的委托。 并实施上述方法并根据单元格是折叠还是展开来设置高度。

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return (indexPath.row == _rowIndexWithLabel) ? tableView.rowHeight + _heightOfLabel : tableView.rowHeight;
}

您应该实现自动调整大小的单元。

- (CGFloat)tableView;(UITableVIew *)tableView estimatedHeightForRowAtIndexPath:(NSIndexpath *)indexPath {
    return x.xx; // Whatever your average row height is
}

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewAutomaticDimension;
}

此后,您可以使用AutoLayout设置单元格类,它们将告诉表格视图它们的高度。 如果您的标签不包含内容,则您的单元格将进行调整,TableView将对此进行反映。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM