Link
A control for navigating to a URL.
Declaration
@MainActor @preconcurrency struct Link<Label> where Label : ViewOverview
Create a link by providing a destination URL and a title. The title tells the user the purpose of the link, and can be a string, a title key that produces a localized string, or a view that acts as a label. The example below creates a link to example.com and displays the title string as a link-styled view:
Link("View Our Terms of Service",
destination: URL(string: "https://www.example.com/TOS.html")!)When a user taps or clicks a Link, the default behavior depends on the contents of the URL. For example, SwiftUI opens a Universal Link in the associated app if possible, or in the user’s default web browser if not. Alternatively, you can override the default behavior by setting the openURL environment value with a custom OpenURLAction:
Link("Visit Our Site", destination: URL(string: "https://www.example.com")!)
.environment(\.openURL, OpenURLAction { url in
print("Open \(url)")
return .handled
})As with other views, you can style links using standard view modifiers depending on the view type of the link’s label. For example, a Text label could be modified with a custom font(_:) or foregroundStyle(_:) to customize the appearance of the link in your app’s UI.