<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "TouchController",
  "identifier" : "/documentation/TouchController/TCDirectionPad",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Touch Controller"
    ],
    "preciseIdentifier" : "c:objc(cs)TCDirectionPad"
  },
  "title" : "TCDirectionPad"
}
-->

# TCDirectionPad

An object that represents a direction pad.

```
class TCDirectionPad
```

## Overview

You can configure this object to behave as either a composite direction pad (mirrored by a
`GCControllerDirectionPad` on the associated `GCController` instance) or as four separate
buttons.

## Topics

### Inspecting the direction pad

[`var compositeLabel: TCControlLabel?`](/documentation/TouchController/TCDirectionPad/compositeLabel)

A composite control label.

[`var downContents: TCControlContents?`](/documentation/TouchController/TCDirectionPad/downContents)

The contents for the down button.

[`var downLabel: TCControlLabel?`](/documentation/TouchController/TCDirectionPad/downLabel)

The label for the down button, if the control isn’t a composite direction pad.

[`var highlightDuration: TimeInterval`](/documentation/TouchController/TCDirectionPad/highlightDuration)

The time it takes for a highlight to fade away, in seconds.

[`var inputIsMutuallyExclusive: Bool`](/documentation/TouchController/TCDirectionPad/inputIsMutuallyExclusive)

A Boolean value that indicates whether the control has mutally exclusive input.

[`var isDigital: Bool`](/documentation/TouchController/TCDirectionPad/isDigital)

A Boolean value that indicates whether the control behaves as a digital button.

[`var isRadial: Bool`](/documentation/TouchController/TCDirectionPad/isRadial)

A Boolean value that indicates whether the control behaves as a swipeable radial button.

[`var leftContents: TCControlContents?`](/documentation/TouchController/TCDirectionPad/leftContents)

The contents for the left button.

[`var leftLabel: TCControlLabel?`](/documentation/TouchController/TCDirectionPad/leftLabel)

The label for the left button, if the control isn’t a composite direction pad.

[`var rightContents: TCControlContents?`](/documentation/TouchController/TCDirectionPad/rightContents)

The contents for the right button.

[`var rightLabel: TCControlLabel?`](/documentation/TouchController/TCDirectionPad/rightLabel)

The label for the right button, if the control isn’t a composite direction pad.

[`var upContents: TCControlContents?`](/documentation/TouchController/TCDirectionPad/upContents)

The contents for the up button.

[`var upLabel: TCControlLabel?`](/documentation/TouchController/TCDirectionPad/upLabel)

The label for the up button, if the control isn’t a composite direction pad.

### Getting the collider shape

[`var colliderShape: TCColliderShape`](/documentation/TouchController/TCDirectionPad/colliderShape)

The collider shape for the direction pad.

[`enum TCColliderShape`](/documentation/TouchController/TCColliderShape)

Defines the shape of a control collider.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`TCControl`](/documentation/TouchController/TCControl)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`TCControlLayout`](/documentation/TouchController/TCControlLayout)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)