---
title: "drawHierarchy(in:afterScreenUpdates:)"
framework: uikit
role: symbol
role_heading: Instance Method
path: "uikit/uiview/drawhierarchy(in:afterscreenupdates:)"
---

# drawHierarchy(in:afterScreenUpdates:)

Renders a snapshot of the complete view hierarchy as visible onscreen into the current context.

## Declaration

```swift
func drawHierarchy(in rect: CGRect, afterScreenUpdates afterUpdates: Bool) -> Bool
```

## Parameters

- `rect`: A rectangle specified in the local coordinate system (bounds) of the view.
- `afterUpdates`: A Boolean value that indicates whether the snapshot should be rendered after recent changes have been incorporated. Specify the value doc://com.apple.documentation/documentation/Swift/false if you want to render a snapshot in the view hierarchy’s current state, which might not include recent changes.

## Return Value

Return Value Returns true if the snapshot is complete, or false if the snapshot is missing image data for any view in the hierarchy.

## Discussion

Discussion Use this method when you want to apply a graphical effect, such as a blur, to a view snapshot. This method is not as fast as the snapshotView(afterScreenUpdates:) method.

## See Also

### Capturing a view snapshot

- [snapshotView(afterScreenUpdates:)](uikit/uiview/snapshotview(afterscreenupdates:).md)
- [resizableSnapshotView(from:afterScreenUpdates:withCapInsets:)](uikit/uiview/resizablesnapshotview(from:afterscreenupdates:withcapinsets:).md)
