访问 tableView 单元格中的所有 UILabel 对象

Access all UILabel objects in a tableView cell

我想在用户处于纵向模式时隐藏单元格中的大量标签和网络视图。我尝试了以下方法:

for subview in cell.subviews {

                print("i am a subview")
                if let label = subview as? UILabel {

                    label.hidden = true
                }
            }

我得到三个子视图,但它们不是 UILabel。一般来说,我有 >10 个标签,这就是为什么这段代码似乎不起作用的原因。关于如何循环访问这些标签的任何提示?谢谢...

对于我自己,我通过在单元格中声明 labelsArray: [UILabel] 属性 并在创建此数组时添加指向标签的指针解决了同样的问题。

其他方式 - 使用标签。由于将相同的标签设置为不同的视图是糟糕的编码风格,您可以提供一些公式:例如,假设您的标签将具有标签 1000、1001、1002 ...。然后你可以按周期枚举所有标签,从 1000 开始获取带有标签的视图,直到你收到 nil

您正在访问 UITableViewCell 的子视图,但您需要获取 UITableViewCell 的 contentView 的子视图。

For Example: cell.subviews[0].subviews 就可以了。