如何在SwiftUI中的文本块中嵌入NavigationLink?

时间:2019-07-18 02:08:24

标签: button text swiftui

我想让SwiftUI NavigationLink内联显示在一块Text内。我该怎么做?

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

1 个答案:

答案 0 :(得分:0)

目前,SwiftUI还没有NSAttributedString的等效项。

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

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

您可能要考虑本地化,因为元素的顺序在其他语言中可能会有所不同,可能包括位于句子中间的按钮。不太有前景。

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