(SwiftUI接口)当 Text 可选时,将忽略 OpenURLAction

(SwiftUI) OpenURLAction is ignored when Text is selectable

提问人:goldwalk 提问时间:9/4/2023 更新时间:9/4/2023 访问量:137

问:

我在尝试处理来自 SwiftUI 视图的超链接时遇到了一个问题。如果我选择,系统总是忽略超链接。TextText.environment(\.openURL, OpenURLAction)

let attributedString = try! AttributedString(markdown: "Here's the link: [link](https://expample.com)")

...

Text(attributedString)
  .environment(\.openURL, OpenURLAction(handler: { url in
    .handled // works ✅
  }

Text(attributedString)
  .textSelection(.enabled)
  .environment(\.openURL, OpenURLAction(handler: { url in
    .handled // ignored ❌
  }

有没有办法在手动处理超链接时保持可选?我的平台是macOS。Text

Swift macOS 可可 SwiftUI

评论

0赞 workingdog support Ukraine 9/4/2023
我得到的恰恰相反。使用链接时会执行操作,但当缺少链接或链接未执行时。但是,如果我使用代替和不使用 ,则链接将作。在使用 Xcode 15 的 MacOS 14 上,在 MacOS 14 上进行了测试。在较旧的系统上可能会有所不同。所以第一次使用吧.textSelection(.enabled).textSelection(.disabled).systemAction.handled.textSelection(.enabled).systemActionText(attributedString)
0赞 orgtre 9/14/2023
我在 macOS 13.4 上使用 Xcode 14.3.1 时得到了与 OP 相同的行为。
0赞 Xiaoxin 9/18/2023
在 macOS 14.0 上使用 Xcode 15.0 获得相同的行为。
0赞 crimson73 11/8/2023
我也在 macOS 13.6 + Xcode 15 上看到了这个错误

答: 暂无答案