---
title: "init(_:arrowEdge:action:)"
framework: tipkit
role: symbol
role_heading: Initializer
path: "tipkit/tipview/init(_:arrowedge:action:)"
---

# init(_:arrowEdge:action:)

Creates a tip view with an optional arrow.

## Declaration

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

## Discussion

Discussion arrowEdge: The edge of the tip view that displays the arrow. action: The closure to perform when the user triggers a tip’s action. tip: The tip to display. Overview 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 popoverTip(_:arrowEdge:action:) to anchor your tip to an element.

## See Also

### Creating a tip view

- [init(_:isPresented:arrowEdge:action:)](tipkit/tipview/init(_:ispresented:arrowedge:action:).md)
- [init(_:isPresented:arrowEdge:anchorID:action:)](tipkit/tipview/init(_:ispresented:arrowedge:anchorid:action:).md)
