---
title: preferredScreenEdgesDeferringSystemGestures
framework: uikit
role: symbol
role_heading: Instance Property
path: uikit/uiviewcontroller/preferredscreenedgesdeferringsystemgestures
---

# preferredScreenEdgesDeferringSystemGestures

The screen edges for which you want your gestures to take precedence over the system gestures.

## Declaration

```swift
var preferredScreenEdgesDeferringSystemGestures: UIRectEdge { get }
```

## Discussion

Discussion Normally, the screen-edge gestures defined by the system take precedence over any gesture recognizers that you define. The system uses its gestures to implement system-level behaviors, such as to display Control Center. Whenever possible, you should allow the system gestures to take precedence. However, immersive apps can use this property to allow app-defined gestures to take precedence over the system gestures. You do that by overriding this property and returning the screen edges for which your gestures should take precedence. If you change the edges preferred by your view controller, update the value of this property and call the setNeedsUpdateOfScreenEdgesDeferringSystemGestures() method to notify the system that the edges have changed. For information on showing and hiding the visual indicator for returning to the Home Screen, see prefersHomeIndicatorAutoHidden.

## See Also

### Coordinating with system gestures

- [childForScreenEdgesDeferringSystemGestures](uikit/uiviewcontroller/childforscreenedgesdeferringsystemgestures.md)
- [setNeedsUpdateOfScreenEdgesDeferringSystemGestures()](uikit/uiviewcontroller/setneedsupdateofscreenedgesdeferringsystemgestures().md)
- [prefersHomeIndicatorAutoHidden](uikit/uiviewcontroller/prefershomeindicatorautohidden.md)
- [childForHomeIndicatorAutoHidden](uikit/uiviewcontroller/childforhomeindicatorautohidden.md)
- [setNeedsUpdateOfHomeIndicatorAutoHidden()](uikit/uiviewcontroller/setneedsupdateofhomeindicatorautohidden().md)
