在 SWIFT 的视图中设置一组元素的 alpha

Setting alpha a group of elements in a view in SWIFT

我使用 Xcode 的自动布局创建了一个布局。我有许多带有标签和 imageView 的视图。有什么方法可以更改标签和 imageView 的 alpha,而无需在代码中的 ViewController 中为它们全部创建出口? 我可以在代码中更改视图内所有元素的 alpha,而不更改视图吗?

当然,有很多方法可以解决这个问题。

  1. 您可以设置一个 IBOutletCollection 的视图,您想要更改哪些是 alpha。 IBOutletCollection 实际上只是运行时为您设置的一组视图对象。请注意,不能保证集合视图中对象的顺序。

  2. 您可以在视图上设置标签的数字范围(从非零值开始),然后使用 for 循环和 UIView 方法 viewWithTag.

  3. 您可以在代码中遍历视图的所有子视图并直接操作视图的 alpha。

您可以枚举视图子视图并以此方式设置 alpha。

for v in view.subviews {
    let view = v as! UIView
    view.alpha = 0
}

另一种方法是使用 IBOutletCollection,您可以在界面生成器中创建它