You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SwiftUI中如何使用变量实现文本内可点击链接?

SwiftUI:让@State变量字符串的Text具备可点击跳转能力

当你用字符串字面量初始化Text时,SwiftUI会自动识别URL格式并启用点击跳转,但使用@State变量时不会触发这个默认行为。以下是无需Link控件或显式传递URL类型的解决方法:

struct ContentView: View {
    @State var link: String = "https://www.youtube.com"
    
    var body: some View {
        Text(attributedLink)
            .foregroundColor(.blue)
            .underline()
    }
    
    private var attributedLink: AttributedString {
        var attrString = AttributedString(link)
        if let url = URL(string: link) {
            attrString.link = url
        }
        return attrString
    }
}

关键说明

  • 通过将字符串转换为AttributedString,手动添加link属性,Text会识别该属性并赋予点击跳转功能
  • 这里仅在内部临时创建URL用于设置富文本属性,没有使用Link控件,满足你的需求

内容的提问来源于stack exchange,提问作者Bart Van de Veire

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 19:23:09