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

# TCDirectionPadDescriptor

A descriptor for configuring a directional pad.

```
class TCDirectionPadDescriptor
```

## Topics

### Creating the descriptor

[`init()`](/documentation/TouchController/TCDirectionPadDescriptor/init())

Creates a new instance with default values.

### Inspecting the descriptor

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

A composite control label.

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

The contents for the down button.

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

The label for the down button, if the control is not a composite direction pad.

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

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

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

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

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

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

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

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

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

The contents for the left button.

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

The label for the left button, if the control is not a composite direction pad.

[`var offset: CGPoint`](/documentation/TouchController/TCDirectionPadDescriptor/offset)

The control’s offset from the anchor, which determines its position.

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

The contents for the right button.

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

The label for the right button, if the control is not a composite direction pad.

[`var size: CGSize`](/documentation/TouchController/TCDirectionPadDescriptor/size)

The size (width, height) of the direction pad in points.

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

The contents for the up button.

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

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

[`var zIndex: Int`](/documentation/TouchController/TCDirectionPadDescriptor/zIndex)

The z-index of the direction pad. A lower z-index is drawn first.

### Accessing the anchor

[`var anchor: TCControlLayoutAnchor`](/documentation/TouchController/TCDirectionPadDescriptor/anchor)

The anchor point that the direction pad’s offset is relative to.

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

Defines the anchor point for a control.

[`var anchorCoordinateSystem: TCControlLayoutAnchorCoordinateSystem`](/documentation/TouchController/TCDirectionPadDescriptor/anchorCoordinateSystem)

The coordinate system for the control’s anchor point.

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

Defines the coodinate system for an anchor point.

### Getting the collider shape

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

The shape of collider to use for the direction pad.

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

Defines the shape of a control collider.

## Relationships

### Conforms To

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

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

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

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

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

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

### 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)