我有一个FAQ页面,其中单元格的标题为String,描述为AttributedString,这样我就可以自定义描述中链接的外观。如何在应用程序而不是Safari中打开链接?我也有一个支持邮件链接,我想提供MailView给用户。
struct LinkFormatter {
static func toAS(for string: String, linkRange: String, to link: String) -> AttributedString{
var result = AttributedString(string)
let linkRange = result.range(of: linkRange)!
result[linkRange].link = URL(string: link)
result[linkRange].underlineStyle = Text.LineStyle(pattern: .solid)
result[linkRange].foregroundColor = .black
return result
}
}
struct faqCell : View {
var mediumLink = LinkFormatter.toAS(for: "you can always read our Medium blog.",
linkRange: "Medium blog",
to: "https://medium.com")
var body : some View {
VStack(alignment: .leading) {
Text("title")
Text(mediumLink)
.foregroundColor(.gray)
}
}
}
1条答案
按热度按时间olmpazwi1#
有一个环境处理器你可以使用。