首页 > 解决方案 > 基于 TableView 选择隐藏 UILabel

问题描述

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

例子:

下面是我拥有的 tableView,当我选择一个单元格时,数据会填充到 detailView 中。 在此处输入图像描述

详细视图

在此处输入图像描述

本质上,我有太多数据需要根据选择的单元格以不同的方式呈现。

在详细视图中,您可以看到 'From' 和 'Receiver' 没有数据

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

这甚至可能吗?

谢谢!

标签: iosswiftuisplitviewcontroller

解决方案


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

这是一个变量的示例,该变量receiver要么为 nil,要么具有将进入“接收者”字段的数据:

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事情由它来做。如果左右部分位于两个单独的堆栈视图中,请确保它们具有相同的设置(填充等),以便当“一行”标签消失时,其他部分保持对齐。


推荐阅读