---
title: UITouch
framework: uikit
role: symbol
role_heading: Class
path: uikit/uitouch
---

# UITouch

An object representing the location, size, movement, and force of a touch occurring on the screen.

## Declaration

```swift
@MainActor class UITouch
```

## Mentioned in

Using responders and the responder chain to handle events Implementing a Continuous Gesture Recognizer Implementing a discrete gesture recognizer Computing the perpendicular force of Apple Pencil Implementing a Multi-Touch app

## Overview

Overview You access touch objects through UIEvent objects passed into responder objects for event handling. A touch object includes accessors for: The view or window in which the touch occurred The location of the touch within the view or window The approximate radius of the touch The force of the touch (on devices that support 3D Touch or Apple Pencil) A touch object also contains a timestamp indicating when the touch occurred, an integer representing the number of times the user tapped the screen, and the phase of the touch in the form of a constant that describes whether the touch began, moved, or ended, or whether the system canceled the touch. To learn how to work with swipes, read Handling Swipe and Drag Gestures in Event Handling Guide for UIKit Apps. A touch object persists throughout a multi-touch sequence. You may store a reference to a touch while handling a multi-touch sequence, as long as you release that reference when the sequence ends. If you need to store information about a touch outside of a multi-touch sequence, copy that information from the touch. The gestureRecognizers property of a touch contains the gesture recognizers currently handling the touch. Each gesture recognizer is an instance of a concrete subclass of UIGestureRecognizer.

## Topics

### Getting the location of a touch

- [location(in:)](uikit/uitouch/location(in:)-8rd36.md)
- [previousLocation(in:)](uikit/uitouch/previouslocation(in:)-22sws.md)
- [view](uikit/uitouch/view.md)
- [window](uikit/uitouch/window.md)
- [majorRadius](uikit/uitouch/majorradius.md)
- [majorRadiusTolerance](uikit/uitouch/majorradiustolerance.md)
- [preciseLocation(in:)](uikit/uitouch/preciselocation(in:).md)
- [precisePreviousLocation(in:)](uikit/uitouch/precisepreviouslocation(in:).md)

### Getting touch attributes

- [tapCount](uikit/uitouch/tapcount.md)
- [timestamp](uikit/uitouch/timestamp.md)
- [type](uikit/uitouch/type.md)
- [UITouch.TouchType](uikit/uitouch/touchtype.md)
- [phase](uikit/uitouch/phase-swift.property.md)
- [UITouch.Phase](uikit/uitouch/phase-swift.enum.md)
- [force](uikit/uitouch/force.md)
- [maximumPossibleForce](uikit/uitouch/maximumpossibleforce.md)
- [altitudeAngle](uikit/uitouch/altitudeangle.md)
- [azimuthAngle(in:)](uikit/uitouch/azimuthangle(in:).md)
- [azimuthUnitVector(in:)](uikit/uitouch/azimuthunitvector(in:).md)
- [rollAngle](uikit/uitouch/rollangle.md)

### Managing estimated touch attributes

- [estimatedProperties](uikit/uitouch/estimatedproperties.md)
- [estimatedPropertiesExpectingUpdates](uikit/uitouch/estimatedpropertiesexpectingupdates.md)
- [UITouch.Properties](uikit/uitouch/properties.md)
- [estimationUpdateIndex](uikit/uitouch/estimationupdateindex.md)

### Getting a touch object’s gesture recognizers

- [gestureRecognizers](uikit/uitouch/gesturerecognizers.md)

### Working with touch events in SpriteKit

- [location(in:)](uikit/uitouch/location(in:)-44h4k.md)
- [previousLocation(in:)](uikit/uitouch/previouslocation(in:)-ea29.md)

## Relationships

### Inherits From

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

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)

## See Also

### Touches

- [Handling touches in your view](uikit/handling-touches-in-your-view.md)
- [Handling input from Apple Pencil](uikit/handling-input-from-apple-pencil.md)
- [Tracking the force of 3D Touch events](uikit/tracking-the-force-of-3d-touch-events.md)
- [Illustrating the force, altitude, and azimuth properties of touch input](uikit/illustrating-the-force-altitude-and-azimuth-properties-of-touch-input.md)
- [Leveraging touch input for drawing apps](uikit/leveraging-touch-input-for-drawing-apps.md)
