<!--
{
  "availability" : [
    "iOS: 13.4.0 -",
    "iPadOS: 13.4.0 -",
    "macCatalyst: 13.4.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "UIKit",
  "identifier" : "/documentation/UIKit/UIPointerStyle",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "UIKit"
    ],
    "preciseIdentifier" : "c:objc(cs)UIPointerStyle"
  },
  "title" : "UIPointerStyle"
}
-->

# UIPointerStyle

An object that defines the pointer shape and effect.

```
@MainActor class UIPointerStyle
```

## Overview

Whenever possible, match pointer styles to UIKit styles and make them consistent with the visual intent of similar views.

> Note:
> When supporting the use of Apple Pencil, effect-based styles, such as a pointer style created using ``doc://com.apple.uikit/documentation/UIKit/UIPointerStyle/init(effect:shape:)`` are fully supported, but shape-based pointer styles created using ``doc://com.apple.uikit/documentation/UIKit/UIPointerStyle/init(shape:constrainedAxes:)`` aren’t.

For more information, see [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/inputs/pointing-devices/).

## Topics

### Creating a pointer style

[`init(effect:shape:)`](/documentation/UIKit/UIPointerStyle/init(effect:shape:))

Applies the provided content effect and pointer shape to the current region.

[`init(shape:constrainedAxes:)`](/documentation/UIKit/UIPointerStyle/init(shape:constrainedAxes:))

Morphs the pointer into the provided shape when hovering over the current region.

[`styleWithEffect:shape:`](/documentation/UIKit/UIPointerStyle/styleWithEffect:shape:)

Applies the provided content effect and pointer shape to the current region.

[`styleWithShape:constrainedAxes:`](/documentation/UIKit/UIPointerStyle/styleWithShape:constrainedAxes:)

Morphs the pointer into the provided shape when it moves over the current region.

[`hidden()`](/documentation/UIKit/UIPointerStyle/hidden())

Hides the pointer when it moves over the current region.

[`system()`](/documentation/UIKit/UIPointerStyle/system())

Morphs the pointer into a default system-style pointer.

### Specifying pointer accessories

[`accessories`](/documentation/UIKit/UIPointerStyle/accessories)

Accessories to display alongside the pointer.

[`UIPointerAccessory`](/documentation/UIKit/UIPointerAccessory)

Constants that describe accessories to display alongside the primary pointer.



---

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)