![[iOS][SwiftUI] 徐々に薄くなるテキストの作成方法](https://images.ctfassets.net/ct0aopd36mqt/6pvolsq7lvoZ5ejkYwyyu0/1ccd3a7b7cd1da61a843cc5f491b6ebd/ios-tanaka-keisuke.png?w=3840&fm=webp)
[iOS][SwiftUI] 徐々に薄くなるテキストの作成方法
はじめに
スターバックスデジタルテクノロジー部のけいすけです。
↓こんなテキストを作る方法を紹介します。

LinearGradient
上記のようなテキストは LinearGradient を利用することで実現できます。
LinearGradient は線形のグラデーションをサポートするための API であり、カラーと開始/終了位置を指定できます。
Syape Style として使う場合はクラスメソッドの linearGradient() が利用できます。
赤・緑・青 を 左から右へ 指定した場合は以下のような見た目になります。
Text("あーるじーびー")
.foregroundStyle(.linearGradient(
colors: [.red, .green, .blue],
startPoint: .leading,
endPoint: .trailing
))

薄くするコツ
ポイントは以下 2 つです。
- Text の
foregroundStyleに LinearGradient を指定する - カラーに
clearを使用する
テキストそのものを薄くしたいので、foregroundStyle を設定しましょう。
カラーに clear を使用することで、自然な流れで薄くなっていきます。
サンプルコード
Text("左から右へ薄くなっていくぅ〜")
.foregroundStyle(.linearGradient(
colors: [.primary, .clear],
startPoint: .leading,
endPoint: .trailing
))

Text("上から下へ薄くなっていくぅ〜")
.foregroundStyle(.linearGradient(
colors: [.primary, .clear],
startPoint: .top,
endPoint: .bottom
))

Text("最後だけ薄くなっていくぅ〜")
.foregroundStyle(.linearGradient(
colors: [.primary, .primary, .primary, .primary, .clear],
startPoint: .leading,
endPoint: .trailing
))

おわりに
LinearGradient を利用することで線形のグラデーションを表現できます。
また、カラーに clear を指定することで色を薄くすることも可能です。
テキストを装飾したい時に試してみてはいかがでしょうか?
リンク
採用情報
スターバックスデジタルテクノロジー部では iOS アプリエンジニアを募集しています。
一緒にスタバのアプリを作りませんか?










