隐藏基于 TableView 选择的 UILabel

Hiding UILabel based on TableView Selection

我很难弄清楚这个问题。 ******注意:我使用的是拆分视图控制器***** 我试图根据所选 tableView 单元格的值隐藏 UILabel。

示例:

下面是我拥有的 tableView,当我选择一个单元格数据时,它会填充到 detailView 中。

详细视图

基本上我有太多数据需要根据所选单元格以不同方式呈现。

在详细视图中您可以看到 'From' 和 'Receiver'

没有数据

我将如何隐藏这些 UILabel 及其对应物(即旁边填充数据的 UILabel)。

这可能吗?

谢谢!

viewDidLoad()(或您设置详细视图的任何地方)中,简单地隐藏空标签将意味着 UIStackView 会将剩余的标签滑入到位。当然,您将需要一个 IBOutlet 标签(或者已经在代码中生成它们)。

下面是一个变量 receiver 的示例,该变量要么为 nil,要么包含将进入 "Receiver" 字段的数据:

if receiver != nil {
    receiverNameLabel.isHidden = false
    receiverDataLabel.isHidden = false
    receiverLabel.text = "Text from your data here"
} else {
    receiverNameLabel.isHidden = true
    receiverDataLabel.isHidden = true
    receiverLabel.text = ""

UISTackView 会完成剩下的工作。如果左右部分位于两个单独的堆栈视图中,请确保它们具有相同的设置(填充等),以便当 "row" 标签消失时,其他标签保持对齐。