---
title: "Hide PDF annotations on iOS | Nutrient SDK"
canonical_url: "https://www.nutrient.io/guides/ios/annotations/disable-rendered-annotation-types/"
md_url: "https://www.nutrient.io/guides/ios/annotations/disable-rendered-annotation-types.md"
last_updated: "2026-05-23T00:08:18.099Z"
description: "Discover how to manage annotation types in Nutrient, including rendering options and special annotation tools. Learn about `Annotation.Kind` and more!"
---

# Hiding annotations on iOS

By default, Nutrient will render all known annotation types. You can find a full list of the available types [here](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/kind).

There are two APIs for working with annotation types in Nutrient:

- [`Annotation.Kind`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/kind) is an option set with all PDF types defined in the PDF specification (e.g. `Annotation.Kind.ink`).

- [`Annotation.Tool`] is an `enum` of strings defining tools that create or manipulate annotations (e.g. [`Annotation.Tool.ink`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/tool/ink)).

There isn’t always a 1:1 mapping between `Annotation.Kind` and `Annotation.Tool`. For example, [`Annotation.Tool.signature`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/tool/signature) can create both `Annotation.Kind.ink` and `Annotation.Kind.stamp`. Additionally, [`Annotation.Tool.eraser`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/tool/eraser) and [`Annotation.Tool.selectionTool`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pspdfkit/annotation/tool/selectiontool) don’t create annotations at all.

## Hiding specific annotations

Annotations can be hidden using the [`hidden`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/flag/hidden) [flag](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/flags). We provide a convenience [`isHidden`](https://www.nutrient.io/api/ios/documentation/pspdfkit/annotation/ishidden) property wrapping this flag, which you can set like this:

```swift

annotation.isHidden = true

```

Annotation flags are saved in the document following the PDF specification.

## Hiding annotations of specific types

The [`renderAnnotationTypes`](https://www.nutrient.io/api/ios/documentation/pspdfkit/document/renderannotationtypes)&nbsp;property controls which annotations are rendered. It’s an option set, and it defaults to `Annotation.Kind.all`.

For example, to enable all annotations except audio, image, and video annotations, you can set the following:

### SWIFT

```swift

var annotationTypes = Annotation.Kind.all
annotationTypes.remove(.screen)
annotationTypes.remove(.richMedia)
annotationTypes.remove(.sound)
document.renderAnnotationTypes = annotationTypes

```

### OBJECTIVE-C

```objc

document.renderAnnotationTypes = PSPDFAnnotationTypeAll & ~(PSPDFAnnotationTypeScreen|PSPDFAnnotationTypeRichMedia|PSPDFAnnotationTypeSound|PSPDFAnnotationTypeStamp);

```

Images are rendered as stamps, but there’s no simple way to differentiate between a text stamp (e.g. Approved) and an image stamp.

To only allow highlights and drawings to be rendered, configure the document like this:

### SWIFT

```swift

document.renderAnnotationTypes = [.highlight,.ink]

```

### OBJECTIVE-C

```objc

document.renderAnnotationTypes = PSPDFAnnotationTypeHighlight|PSPDFAnnotationTypeInk;

```

Configure this property before the document is presented in a [`PDFViewController`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfviewcontroller). If you change it afterward, either call [`reloadData()`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfviewcontroller/reloaddata()) or, as a faster and more fine-grained approach, call [`update()`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfpageview/update()) on all visible page views:

### SWIFT

```swift

for pageView in pdfController.visiblePageViews {
    pageView.update()
}

```

### OBJECTIVE-C

```objc

[pdfController.visiblePageViews makeObjectsPerformSelector:@selector(updateView)];

```

When changing the visible annotations after a document has already been rendered — either in a previous session or when the document is presented right away — you need to clear the cache for this document by calling [`PDFCache.remove(for:)`](https://www.nutrient.io/api/ios/documentation/pspdfkit/pdfcache/remove(for:)).

## Disabling all annotations

With the [`annotationsEnabled`](https://www.nutrient.io/api/ios/documentation/pspdfkit/document/areannotationsenabled) property on [`Document`](https://www.nutrient.io/api/ios/documentation/pspdfkit/document), annotations can be completely disabled. Note that links are also annotations, and you almost never want to disable links. There are, however, valid use cases, so this is an option. Changing this also requires a call to [`reloadData()`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfviewcontroller/reloaddata()) if the document is already displayed. When enabling or disabling annotations after the document has already been rendered — either in a previous session or when the document is presented right away — you need to clear the cache for this document by calling [`PDFCache.remove(for:)`](https://www.nutrient.io/api/ios/documentation/pspdfkit/pdfcache/remove(for:)).
---

## Related pages

- [Configure annotation presets on iOS](/guides/ios/annotations/changing-default-values-for-color-and-text-size-of-annotations.md)
- [Customizing PDF annotation appearance streams](/guides/ios/annotations/appearance-streams.md)
- [Creating a fixed-sized annotation on iOS](/guides/ios/annotations/fixed-size-annotations.md)
- [Customizing note icons on iOS](/guides/ios/annotations/customize-annotation-rendering.md)
- [Store custom data in iOS PDF annotations](/guides/ios/annotations/custom-data-in-annotations.md)
- [Customizing color presets on iOS](/guides/ios/annotations/customizing-presets.md)

