<!--
{
  "availability" : [
    "iOS: 17.0.0 -",
    "iPadOS: 17.0.0 -",
    "macCatalyst: 17.0.0 -",
    "macOS: 14.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 10.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TipKit",
  "identifier" : "/documentation/TipKit/Tip/Action",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "TipKit"
    ],
    "preciseIdentifier" : "s:6TipKit0A0PAAE6Actiona"
  },
  "title" : "Action"
}
-->

# Action

A type that describes a control associated with a tip.

```
typealias Action = Tips.Action
```

## Overview

Use actions to provide additional help and guidance for people looking to get started with your tip.
Actions appear at the bottom of your [`TipView`](/documentation/TipKit/TipView) in the form of buttons.

You create an action by providing an `id` and a `title`.
The `id` is a string that uniquely identifies the action.
The `title` is text that displays as the label on the button.

You can pass a function for the system to call when the action triggers by setting the `perform`
attribute in the [`init(id:title:perform:)`](/documentation/TipKit/Tips/Action/init(id:title:perform:)) initializer.
Or you can set the action parameter in the [`init(_:arrowEdge:action:)`](/documentation/TipKit/TipView/init(_:arrowEdge:action:)) initializer of your [`TipView`](/documentation/TipKit/TipView).

## Topics

### Initializers

[`init(id: String?, perform: () -> Void, () -> Text)`](/documentation/TipKit/Tips/Action/init(id:perform:_:))

Creates a tip action that displays a custom label.

[`init(id: String?, title: some StringProtocol, perform: () -> Void)`](/documentation/TipKit/Tips/Action/init(id:title:perform:))

Creates a tip action that generates its label from a string.



---

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)