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

# require(toFail:)

Creates a dependency relationship between the gesture recognizer and another gesture recognizer when the objects are created.

```
func require(toFail otherGestureRecognizer: UIGestureRecognizer)
```

## Parameters

`otherGestureRecognizer`

Another gesture-recognizer object (an instance of a subclass of [`UIGestureRecognizer`](/documentation/UIKit/UIGestureRecognizer)).

## Discussion

This method works fine when gesture recognizers aren’t created elsewhere in the app — or in a framework — and the set of gesture recognizers remains the same. If you need to set up failure requirements lazily or in different view hierarchies, use [`gestureRecognizer(_:shouldRequireFailureOf:)`](/documentation/UIKit/UIGestureRecognizerDelegate/gestureRecognizer(_:shouldRequireFailureOf:)) and [`gestureRecognizer(_:shouldBeRequiredToFailBy:)`](/documentation/UIKit/UIGestureRecognizerDelegate/gestureRecognizer(_:shouldBeRequiredToFailBy:)) instead. (Note that the [`shouldRequireFailure(of:)`](/documentation/UIKit/UIGestureRecognizer/shouldRequireFailure(of:)) and [`shouldBeRequiredToFail(by:)`](/documentation/UIKit/UIGestureRecognizer/shouldBeRequiredToFail(by:)) methods let subclasses define class-wide failure requirements.)

This method creates a relationship with another gesture recognizer that delays the current gesture recognizer’s transition out of [`UIGestureRecognizer.State.possible`](/documentation/UIKit/UIGestureRecognizer/State-swift.enum/possible). The state that the current gesture recognizer transitions to depends on what happens with `otherGestureRecognizer`:

- If `otherGestureRecognizer` transitions to [`UIGestureRecognizer.State.failed`](/documentation/UIKit/UIGestureRecognizer/State-swift.enum/failed), the current gesture recognizer transitions to its normal next state.
- If `otherGestureRecognizer` transitions to [`recognized`](/documentation/UIKit/UIGestureRecognizer/State-swift.enum/recognized) or [`UIGestureRecognizer.State.began`](/documentation/UIKit/UIGestureRecognizer/State-swift.enum/began), the current gesture recognizer transitions to [`UIGestureRecognizer.State.failed`](/documentation/UIKit/UIGestureRecognizer/State-swift.enum/failed).

An example where this method might be called is when you want a single-tap gesture require that a double-tap gesture fail.

## See Also

[`shouldBeRequiredToFail(by:)`](/documentation/UIKit/UIGestureRecognizer/shouldBeRequiredToFail(by:))

Overridden to indicate that the receiver should be required to fail by the specified gesture recognizer.

[`shouldRequireFailure(of:)`](/documentation/UIKit/UIGestureRecognizer/shouldRequireFailure(of:))

Overridden to indicate that the receiver requires the specified gesture recognizer to fail.



---

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)