更改子视图的alpha而不是swift中的父视图。我试过这个
for v in view.subviews {
let view = v
view.layer.cornerRadius = 20
view.backgroundColor = UIColor.black
view.alpha = 0.8
}
答案 0 :(得分:2)
如果我理解了您的问题,您希望设置四个子视图的透明度,但不会影响其子视图(子视图的子视图)。
通过设置视图alpha
属性,所有子视图都将受到影响,透明度将应用于所有(递归)。如果您不想这样做,请在backgroundColor
属性上设置一些透明度的颜色,并保留alpha
属性值1
。
否则,如果您不想隐藏图像视图,请在故事板上手动设置Alpha而不是此循环,或者创建一个imageView插座并在循环后将其alpha设置为1.
答案 1 :(得分:0)
我假设每个视图的子视图也有子视图,否则,就像@rmaddy一样,我不确定问题是什么。要深入查看第二层子视图,请使用嵌套循环:
for v in view.subviews {
v.subviews.forEach({
$0.alpha = 0.8
//etc
})
}
希望有所帮助。