<!--
{
  "availability" : [
    "watchOS: 3.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "WatchKit",
  "identifier" : "/documentation/WatchKit/WKCrownSequencer",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "WatchKit"
    ],
    "preciseIdentifier" : "c:objc(cs)WKCrownSequencer"
  },
  "title" : "WKCrownSequencer"
}
-->

# WKCrownSequencer

An object that reports the current state of the digital crown, including its rotational speed when it is in motion.

```
class WKCrownSequencer
```

## Overview

Do not create instances of this class yourself. Instead, retrieve a crown sequencer object from the current interface controller’s [`crownSequencer`](/documentation/WatchKit/WKInterfaceController/crownSequencer) property. Before the sequencer can receive data, you must call its [`focus()`](/documentation/WatchKit/WKCrownSequencer/focus()) method. Only one object in your interface can have focus at any given time, so if your interface also contains picker objects or has scrollable scenes, you must coordinate changes in focus accordingly. For example, calling the sequencer’s [`focus()`](/documentation/WatchKit/WKCrownSequencer/focus()) method causes any picker objects or interface controllers to resign focus. When the user taps on a picker object, the currently active sequencer resigns focus, and the selected picker object gains the focus. Because the crown sequencer is not tied to a specific interface object, you can use it as general input for your app.

Although the crown sequencer object has properties that contain the current state of the crown, it is more common to use a [`delegate`](/documentation/WatchKit/WKCrownSequencer/delegate) object to receive notifications as the user rotates the crown. For more information on receiving data using a delegate, see [`WKCrownDelegate`](/documentation/WatchKit/WKCrownDelegate).

## Topics

### Getting the Current Crown Status

[`rotationsPerSecond`](/documentation/WatchKit/WKCrownSequencer/rotationsPerSecond)

The rotational speed of the crown, measured in rotations per second.

[`idle`](/documentation/WatchKit/WKCrownSequencer/isIdle)

A Boolean value indicating whether the crown is at rest.

### Accessing the Delegate

[`delegate`](/documentation/WatchKit/WKCrownSequencer/delegate)

The object you use to monitor changes to the crown state.

### Managing the Focus

[`-  focus`](/documentation/WatchKit/WKCrownSequencer/focus())

Begins the delivery of crown events to the current crown sequencer.

[`-  resignFocus`](/documentation/WatchKit/WKCrownSequencer/resignFocus())

Ends the delivery of crown events to the current crown sequencer.

### Managing Haptic Feedback

[`hapticFeedbackEnabled`](/documentation/WatchKit/WKCrownSequencer/isHapticFeedbackEnabled)

A Boolean value that determines whether the crown sequencer’s haptic feedback is enabled.

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)