自动布局UILabels

我有三个UILabels在我的自定义UITableViewCell 。 这可能是一些UILabels将是空的( label.text == @""

  - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *CellIdentifier = @"EventCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; NSString *key = [[keysArray objectAtIndex:indexPath.section] description]; UILabel *nameLabel = (UILabel *)[cell viewWithTag:100]; namelabel.text = @"Label 1"; UILabel *locationLabel = (UILabel *)[cell viewWithTag:101]; location.text = @"Label 2"; UILabel *timeLabel = (UILabel *)[cell viewWithTag:102]; timeLabel.text = @""; return cell; } 

如何使用自动布局将所有非空UILabels垂直居中在单元格中?

这是三个标签的外观

这是三个标签的外观:

当一个UILables为空时,它的外观如何

当其中一个<code> UILables </ code>为空时,它的外观如何

这就是我想要的样子:

这就是我想要的样子:

这很难实现,但一个简单的捷径可能是有一个单一的标签,用三行文本,约束来填充整个单元格的高度。 标签将自动将其内容居中放置。

你在单元格上有三个string属性,而不是三个标签,你的设置者会build立最后一个string(使用\n换行)并设置标签的文本。

如果每一行文本都有不同的样式,没问题,因为您可以使用属性string。