---
title: CPBarButton
framework: carplay
role: symbol
role_heading: Class
path: carplay/cpbarbutton
---

# CPBarButton

A button for placement in a navigation bar.

## Declaration

```swift
class CPBarButton
```

## Topics

### Creating a CarPlay Bar Button

- [init(coder:)](carplay/cpbarbutton/init(coder:).md)
- [init(type:handler:)](carplay/cpbarbutton/init(type:handler:).md)
- [init(image:handler:)](carplay/cpbarbutton/init(image:handler:).md)
- [init(title:handler:)](carplay/cpbarbutton/init(title:handler:).md)
- [CPBarButton.Type](carplay/cpbarbutton/type.md)
- [CPBarButtonHandler](carplay/cpbarbuttonhandler.md)

### Configuring the Button

- [isEnabled](carplay/cpbarbutton/isenabled.md)
- [image](carplay/cpbarbutton/image.md)
- [title](carplay/cpbarbutton/title.md)

### Getting the Button Style

- [buttonType](carplay/cpbarbutton/buttontype.md)
- [buttonStyle](carplay/cpbarbutton/buttonstyle.md)
- [CPBarButtonStyle](carplay/cpbarbuttonstyle.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [CPMessageComposeBarButton](carplay/cpmessagecomposebarbutton.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCoding](foundation/nscoding.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [NSSecureCoding](foundation/nssecurecoding.md)

## See Also

### Providing Navigation Bar Buttons

- [backButton](carplay/cpbarbuttonproviding/backbutton.md)
- [leadingNavigationBarButtons](carplay/cpbarbuttonproviding/leadingnavigationbarbuttons.md)
- [trailingNavigationBarButtons](carplay/cpbarbuttonproviding/trailingnavigationbarbuttons.md)
- [CPMessageComposeBarButton](carplay/cpmessagecomposebarbutton.md)
