---
title: "init(_:action:actionLabel:)"
framework: widgetkit
role: symbol
role_heading: Initializer
path: "widgetkit/controlwidgetbutton/init(_:action:actionlabel:)-67uvw"
---

# init(_:action:actionLabel:)

Creates a button template for a control.

## Declaration

```swift
@MainActor @preconcurrency init(_ titleKey: LocalizedStringKey, action: Action, @ViewBuilder actionLabel: @escaping (Bool) -> ActionLabel) where Action : AppIntent
```

## Parameters

- `titleKey`: The key to a localized string to display as the title of the button.
- `action`: The action your button performs when pressed.
- `actionLabel`: A view that is rendered when the button’s action is performed.

## Discussion

Discussion Use the action label to additionally customize the appearance of this control button while its action is performed ControlWidgetButton(     "Open Trunk",     action: OpenTrunkIntent() ) { isActive in     Image(systemName: "car.side.rear.open.crop")     if isActive {         Text("Opening...")     } } The example above produces a control button that appears in Control Center with “Open Trunk” as its title and the provided SF symbol. While the control is performing its action, it shows the “Opening…” subtitle.

## See Also

### Initializers

- [init(action:label:)](widgetkit/controlwidgetbutton/init(action:label:)-77p8j.md)
- [init(action:label:)](widgetkit/controlwidgetbutton/init(action:label:)-8oxxp.md)
- [init(action:label:actionLabel:)](widgetkit/controlwidgetbutton/init(action:label:actionlabel:).md)
- [init(action:label:actionLabel:)](widgetkit/controlwidgetbutton/init(action:label:actionlabel:).md)
- [init(_:action:actionLabel:)](widgetkit/controlwidgetbutton/init(_:action:actionlabel:)-4sgji.md)
