<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -",
    "macCatalyst: 26.0.0 -",
    "macOS: 26.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: 26.0.0 -",
    "watchOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TipKit",
  "identifier" : "/documentation/TipKit/TipView/init(_:isPresented:arrowEdge:action:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "TipKit"
    ],
    "preciseIdentifier" : "s:6TipKit0A4ViewV_11isPresented9arrowEdge6actionACyAA03AnyA0VGAA0A0_pSg_7SwiftUI7BindingVySbGSgAL0G0OSgyAA4TipsO6ActionVctcAHRszrlufc"
  },
  "title" : "init(_:isPresented:arrowEdge:action:)"
}
-->

# init(_:isPresented:arrowEdge:action:)

Creates a tip view with an optional arrow.

```
@MainActor @preconcurrency init(_ tip: (any Tip)?, isPresented: Binding<Bool>? = nil, arrowEdge: Edge? = nil, action: @escaping @MainActor @Sendable (Tips.Action) -> Void = { _ in }) where Content == AnyTip
```

## Parameters

`tip`

The tip to display.

`isPresented`

A binding that will automatically update to true when a tip is displayed. This value can be changed to temporarily hide or show a currently displayable tip. If this value is `nil`, the view will automatically disappear based on the tip’s status and display rules.

`arrowEdge`

The edge of the tip view that displays the arrow.

`action`

The closure to perform when the user triggers a tip’s action.

## Discussion

Use a `TipView` when you want to indicate the UI element to which
the tip applies, but don’t want to directly anchor the tip view to that
element. Use the <doc://com.apple.documentation/documentation/SwiftUI/View/popoverTip(_:arrowEdge:action:)> to anchor your tip to an element.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)