【发布时间】:2015-07-26 06:21:22
【问题描述】:
我已经使用 Xcode 的自动布局创建了一个布局。我有许多带有标签和 imageView 的视图。有什么方法可以更改标签和 imageView 的 alpha 而无需在代码中的 ViewController 中为所有它们创建出口? 我可以在代码中更改视图内所有元素的 alpha,而不是更改视图吗?
【问题讨论】:
我已经使用 Xcode 的自动布局创建了一个布局。我有许多带有标签和 imageView 的视图。有什么方法可以更改标签和 imageView 的 alpha 而无需在代码中的 ViewController 中为所有它们创建出口? 我可以在代码中更改视图内所有元素的 alpha,而不是更改视图吗?
【问题讨论】:
当然,有很多方法可以解决这个问题。
您可以设置IBOutletCollection 的视图,其中包含您想要更改的 Alpha 版。 IBOutletCollection 实际上只是运行时为您设置的视图对象数组。请注意,集合视图中对象的顺序无法保证。
您可以在视图上设置标签的数字范围(从非零值开始),然后使用 for 循环和 UIView 方法viewWithTag。
您可以在代码中循环遍历视图的所有子视图并直接操作视图的 alpha。
【讨论】:
您可以枚举视图子视图并以这种方式设置 alpha。
for v in view.subviews {
let view = v as! UIView
view.alpha = 0
}
另一种方法是使用您可以在界面生成器中创建的IBOutletCollection
【讨论】: