【问题标题】:How do I embed a NavigationLink inside a block of text in SwiftUI?如何在 SwiftUI 的文本块中嵌入 NavigationLink?
【发布时间】:2019-07-18 02:08:24
【问题描述】:

我想让 SwiftUI NavigationLink 与文本块内联显示。我该怎么做?

这是我想要完成的一个示例。我希望条款和条件成为文本的一部分,而不是单独的视图。 Tap to view image.

【问题讨论】:

    标签: button text swiftui


    【解决方案1】:

    目前,SwiftUI 中没有 NSAttributedString 等价物。

    这可能不是您想要的,但使用堆栈可能是实现目标的最佳选择(VStackHStack,哪个更合适):

    HStack {
        Text("By creating an account, you agree to the")
        Button("Terms & Conditions") {
           // UIApplication.shared.openURL
        }
    }
    

    您可能需要考虑本地化,因为元素的顺序在其他语言中可能不同,可能包括位于句子中间的按钮。不是很有希望。

    我没用过,但您可能想研究一下使用UIViewRepresentable 的方法。有了它,您可以对字符串的不同部分应用不同的样式,但不确定是否有任何方法可以附加事件处理程序。

    【讨论】:

    • 是的,我可能必须使用 UIViewRepresentable。不过,在 SwiftUI 中这样做会很好。
    猜你喜欢
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-11
    相关资源
    最近更新 更多