我使用Xcode的Autolayout创建了一个布局。我有很多带有label和imageView的视图。是否有任何方法可以更改标签和imageView的alpha而无需在代码中的ViewController中为所有这些创建插座? 我可以在代码中更改视图中所有元素的alpha值,而不是为视图更改它吗?
答案 0 :(得分:1)
当然,有很多方法可以解决这个问题。
您可以设置array (
'collection' =>
array (
0 =>
array (
'data' =>
array (
'product_id' => '9',
'sku' => 'Tilapia',
'name' => 'Tilapia',
'set' => '4',
'type' => 'simple',
'category_ids' =>
array (
0 => '2',
1 => '4',
),
'website_ids' =>
array (
0 => '1',
),
),
),
1 =>
array (
'data' =>
array (
'product_id' => '10',
'sku' => 'Deshi Rui',
'name' => 'Deshi Rui',
'set' => '4',
'type' => 'simple',
'category_ids' =>
array (
0 => '2',
1 => '4',
),
'website_ids' =>
array (
0 => '1',
),
),
),
'count' => 2,
),
)
个想要更改字母的视图。 IBOutletCollection
实际上只是运行时为您设置的视图对象数组。请注意,不保证集合视图中对象的顺序。
您可以在视图上设置数字范围的标记(以非零值开头),然后使用for循环和UIView方法IBOutletCollection
。
您可以在代码中循环浏览所有视图的子视图,并直接操作视图的alpha。
答案 1 :(得分:1)
您可以通过视图子视图枚举并以这种方式设置alpha。
for v in view.subviews {
let view = v as! UIView
view.alpha = 0
}
另一种方法是使用您可以在界面构建器
中创建的IBOutletCollection