🖼️

画像を含む AttributedStringをSwiftUIで表示する

2024/02/20に公開

NSTextAttachment として画像を含む AttributedString は,UITextView に与えれば画像もふくめてレンダリングされる

uiTextView.attributedText = nsattrStringWithImage

が,iOS 17 において同じ AttributedString を SwiftUI のText に与えると,画像がレンダリングされずテキストのみが表示される。

let attrStr = AttributedString(nsattrStringWithImage)
Text(attrStr)

以下でも同じ問題が紹介されているが,よい解決策はなさそうである。
https://swiftuirecipes.com/blog/insert-image-into-swiftui-text
https://forums.developer.apple.com/forums/thread/723935

仕方がないので,UITextView を UIViewRepresentable を用いてラップして用いることで対応した。

Discussion