<!--
{
  "availability" : [
    "iOS: 9.1.0 -",
    "iPadOS: 9.1.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIResponder/touchesEstimatedPropertiesUpdated(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIResponder(im)touchesEstimatedPropertiesUpdated:"
  },
  "title" : "touchesEstimatedPropertiesUpdated(_:)"
}
-->

# touchesEstimatedPropertiesUpdated(_:)

Tells the responder that updated values were received for previously estimated properties or that an update is no longer expected.

```
func touchesEstimatedPropertiesUpdated(_ touches: Set<UITouch>)
```

## Parameters

`touches`

The array of [`UITouch`](/documentation/UIKit/UITouch) objects containing the updated properties. In each touch object, UIKit updates the [`estimatedPropertiesExpectingUpdates`](/documentation/UIKit/UITouch/estimatedPropertiesExpectingUpdates) property by removing the bit flag for each property that was updated.

## Discussion

When UIKit is unable to report actual values for a touch, it delivers estimates for the values and sets the appropriate bits in the [`estimatedProperties`](/documentation/UIKit/UITouch/estimatedProperties) and [`estimatedPropertiesExpectingUpdates`](/documentation/UIKit/UITouch/estimatedPropertiesExpectingUpdates) properties of the [`UITouch`](/documentation/UIKit/UITouch) object. When updates are received for items in the [`estimatedPropertiesExpectingUpdates`](/documentation/UIKit/UITouch/estimatedPropertiesExpectingUpdates) property, UIKit calls this method to deliver those updates. UIKit also calls this method if one or more updates are no longer expected. You use this method to update your app’s internal data structures with the new values provided by UIKit.

In your implementation of this method, use the [`estimationUpdateIndex`](/documentation/UIKit/UITouch/estimationUpdateIndex) property of a [`UITouch`](/documentation/UIKit/UITouch) object in the `touches` parameter to locate the original data in your app. Upon locating the data, apply the new values from the touch object to it. You can determine which touch properties were updated by checking the [`estimatedPropertiesExpectingUpdates`](/documentation/UIKit/UITouch/estimatedPropertiesExpectingUpdates) bit mask of the touch object; updated properties are no longer included in the bit mask.

Touch-related properties may remain estimated because of hardware considerations. For example, sensors may not be able to ascertain the exact altitude or azimuth of Apple Pencil when it’s near the edges of the screen. In those cases, the [`estimatedProperties`](/documentation/UIKit/UITouch/estimatedProperties) property continues to store the list of properties whose values are only estimates.

---

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)