高校倫理1434987 views
数学講師2862298 views
高校生物550226 views
中学社会667457 views
高校日本史190006 views
MathPython493120 views
世界の国561479 views
高校化学2915516 views
りんご197191 views
小学理科717868 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 サポートにより、シンプルな記法でリッチなテキストを表現できます。