小学算数1197561 views
雑学1473058 views
英語610172 views
中学理科1628254 views
中学数学622374 views
小学社会309124 views
数学講師2867555 views
高校国語786623 views
高校物理158886 views
高校倫理1436242 views

SwiftUI Text の Markdown サポート

iOS 15 以降、SwiftUI の Text は Markdown 記法を直接サポートしています。文字列リテラル内に Markdown を書くだけで、自動的にスタイルが適用されます。

対応している Markdown 記法

Text で使える主な Markdown 記法は以下のとおりです。

VStack(alignment: .leading, spacing: 12) {
    Text("**太字** のテキスト")
    Text("*斜体* のテキスト")
    Text("~~取り消し線~~ のテキスト")
    Text("`インラインコード` のテキスト")
    Text("[リンク](https://apple.com)")
}

組み合わせて使う

複数の記法を組み合わせることもできます。

Text("これは **太字** と *斜体* と ~~取り消し~~ を含む文です")

変数からの Markdown

変数に格納された文字列で Markdown を有効にするには、明示的に AttributedString を使うか、LocalizedStringKey として解釈させます。

// 文字列リテラルは自動的に Markdown 解釈される
Text("**太字**")  // OK

// 変数の場合はそのままでは Markdown が効かない
let text = "**太字**"
Text(text)  // Markdown が効かない

// LocalizedStringKey として渡すと有効になる
Text(LocalizedStringKey(text))  // Markdown が効く

Markdown を無効にする

Markdown 解釈を無効にしたい場合は verbatim: を使います。

Text(verbatim: "**これは太字にならない**")

実用例

利用規約への同意文など、リンクを含むテキストで便利です。

Text("続行すると[利用規約](https://example.com/terms)に同意したことになります")
    .font(.footnote)
    .foregroundStyle(.secondary)

Markdown サポートにより、シンプルな記法でリッチなテキストを表現できます。