はじめに
luminanceToAlpha
という機能を発見して、使ったことがなかったので調べてみました。
簡単にいうと、Viewの色が明るければ明るいほど、Viewが透明になるよって機能です。
iOS13から使えるようですが、あまり登場シーンがないので存在を知りませんでした。
サンプルアプリ
実装
import SwiftUI
struct ContentView: View {
@State private var selectedColor = Color.black
var body: some View {
VStack {
Rectangle()
.frame(height: 50)
.foregroundStyle(selectedColor)
.border(.black)
.background {
Text("これが見えたら透過してるよ").foregroundStyle(selectedColor)
}
Rectangle()
.frame(height: 50)
.foregroundStyle(selectedColor)
.luminanceToAlpha()
.border(.black)
.background {
Text("これが見えたら透過してるよ").foregroundStyle(selectedColor)
}
ColorPicker("", selection: $selectedColor)
}
.padding(20)
}
}
活用事例を考えてみる
使われないのは可哀想なので活用できる場面を考えてみる
...
思いつかない
おわり
GitHubでどんな使われ方をしているのか見てみたらmask
と一緒に使われているのが多かった気がします。
公式ドキュメント