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

# UIStepper

A control for incrementing or decrementing a value.

```
@MainActor class UIStepper
```

## Overview

By default, pressing and holding a stepper’s button increments or decrements the stepper’s value repeatedly. The rate of change depends on how long the user continues pressing the control. To turn off this behavior, set the [`autorepeat`](/documentation/UIKit/UIStepper/autorepeat) property to <doc://com.apple.documentation/documentation/Swift/false>.

The maximum value must be greater than or equal to the minimum value. If you set a maximum or minimum value that would break this invariant, both values are set to the new value. For example, if the minimum value is 200 and you set a maximum value of 100, then both the minimum and maximum become 200.

## Topics

### Configuring the stepper

[`isContinuous`](/documentation/UIKit/UIStepper/isContinuous)

A Boolean value that determines whether to send value changes during user interaction or after user interaction ends.

[`autorepeat`](/documentation/UIKit/UIStepper/autorepeat)

A Boolean value that determines whether to repeatedly change the stepper’s value as the user presses and holds a stepper button.

[`wraps`](/documentation/UIKit/UIStepper/wraps)

A Boolean value that determines whether the stepper can wrap its value to the minimum or maximum value when incrementing and decrementing the value.

[`minimumValue`](/documentation/UIKit/UIStepper/minimumValue)

The lowest possible numeric value for the stepper.

[`maximumValue`](/documentation/UIKit/UIStepper/maximumValue)

The highest possible numeric value for the stepper.

[`stepValue`](/documentation/UIKit/UIStepper/stepValue)

The step, or increment, value for the stepper.

### Accessing the stepper’s value

[`value`](/documentation/UIKit/UIStepper/value)

The numeric value of the stepper.

### Customizing appearance

[`backgroundImage(for:)`](/documentation/UIKit/UIStepper/backgroundImage(for:))

Returns the background image associated with the specified control state.

[`setBackgroundImage(_:for:)`](/documentation/UIKit/UIStepper/setBackgroundImage(_:for:))

Sets the background image for the control when it’s in the specified state.

[`decrementImage(for:)`](/documentation/UIKit/UIStepper/decrementImage(for:))

Returns the image used for the decrement glyph of the control.

[`setDecrementImage(_:for:)`](/documentation/UIKit/UIStepper/setDecrementImage(_:for:))

Sets the image to use for the decrement glyph of the control.

[`dividerImage(forLeftSegmentState:rightSegmentState:)`](/documentation/UIKit/UIStepper/dividerImage(forLeftSegmentState:rightSegmentState:))

Returns the divider image for the given combination of left and right states.

[`setDividerImage(_:forLeftSegmentState:rightSegmentState:)`](/documentation/UIKit/UIStepper/setDividerImage(_:forLeftSegmentState:rightSegmentState:))

Sets the image to use for the given combination of left and right states.

[`incrementImage(for:)`](/documentation/UIKit/UIStepper/incrementImage(for:))

Returns the image used for the increment glyph of the control.

[`setIncrementImage(_:for:)`](/documentation/UIKit/UIStepper/setIncrementImage(_:for:))

Sets the image to use for the increment glyph of the control.



---

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)