🎨
Color.clearをそのままViewで使うときに気をつけること
問題
タッチイベントなどの都合で任意のViewに透明なViewを重ねたいときに以下のように書いたら、Color.white
とColor.clear
で挙動が変わることに気づいた。
具体的には、clearのときにはそもそもその大きさのViewが存在しない。
(なので、おそらくheightをつけるとうまくいきそうではある)
ZStack(alignment: .leading) {
content
Color.clear
.frame(width: 8.0)
.frame(maxHeight: .infinity)
}
解決策
Color
でやる必要もないけど愚直にやるならこんな感じ。
高さは可変のまま行きたいので、限りなく透明な色付きのViewにして解決した。
Color.white
.opacity(Double.leastNonzeroMagnitude)
.frame(width: 8.0)
.frame(maxHeight: .infinity)
Discussion
@yagijin san
Another tip, because you embed code inside ZStack, just add contentShape enough in this case.
I don't know Janapnese so please translate my comment :D