自定义uitableviewcell标签隐藏/显示

时间:2015-06-10 15:38:13

标签: ios objective-c uitableview

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

使用-tableView:heightForRowAtIndexPath:

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

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

答案 2 :(得分:0)

你应该实现自我调整单元格。

- (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将反映出来。