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

# TCControl

A protocol that defines the base properties and methods for all touch controls.

```
protocol TCControl : TCControlLayout
```

## Topics

### Inspecting a control

[`var isEnabled: Bool`](/documentation/TouchController/TCControl/isEnabled)

A Boolean value that indicates whether the control is enabled.

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

The duration of the highlight animation.

[`var label: TCControlLabel`](/documentation/TouchController/TCControl/label)

The label associated with the control.

[`class TCControlLabel`](/documentation/TouchController/TCControlLabel)

A label you associate with a touch control and provides a semantic description.

[`var isPressed: Bool`](/documentation/TouchController/TCControl/isPressed)

Indicates whether the control is currently pressed.

### Handling touches

[`func handleTouchBegan(at: CGPoint)`](/documentation/TouchController/TCControl/handleTouchBegan(at:))

Handles a touch began event at the specified point.

[`func handleTouchMoved(at: CGPoint)`](/documentation/TouchController/TCControl/handleTouchMoved(at:))

Handles a touch moved event at the specified point.

[`func handleTouchEnded(at: CGPoint)`](/documentation/TouchController/TCControl/handleTouchEnded(at:))

Handles a touch ended event at the specified point.

### Getting the collider shape

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

The collider shape for the control.

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

Defines the shape of a control collider.

## Relationships

### Conforming Types

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

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

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

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

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

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

### Inherits From

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

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

---

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)