Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. GMStepper

GMStepper

MITSwift2.3

A customizable iOS stepper control with a sliding label in the middle that responds to pan gestures and button taps.

Visit WebsiteGitHubGitHub
921 stars114 forks0 contributors

What is GMStepper?

GMStepper is a custom iOS stepper control that replaces the standard UIStepper with an enhanced interface featuring a sliding label in the middle. It allows users to adjust numeric values by either panning the central label or tapping the +/- buttons, providing a more interactive experience. The control is highly customizable through properties for colors, fonts, dimensions, and behavior.

Target Audience

iOS developers building apps that require numeric input controls with enhanced user interaction and custom styling beyond the default UIStepper.

Value Proposition

Developers choose GMStepper for its unique sliding label interaction, extensive customization options, and seamless integration with both code and Interface Builder, offering a more engaging alternative to Apple's UIStepper.

Overview

A stepper with a sliding label in the middle.

Use Cases

Best For

  • Adding interactive numeric controls in iOS shopping apps for quantity selection
  • Creating custom settings panels with stylized value adjusters
  • Building data visualization tools that require precise value adjustment
  • Implementing rating or scoring interfaces with smooth value changes
  • Developing educational apps where interactive number controls enhance engagement
  • Replacing standard UISteppers in apps requiring branded UI components

Not Ideal For

  • Cross-platform applications targeting iOS and Android with a shared codebase
  • SwiftUI-based projects seeking native, declarative UI controls without UIKit bridging
  • Accessibility-first apps where custom gesture interactions could impede users with motor impairments
  • Environments avoiding external dependencies like CocoaPods or Swift Package Manager

Pros & Cons

Pros

Interactive Sliding Label

The pan gesture on the middle label allows fluid value adjustments beyond tapping buttons, enhancing user engagement, as shown in the README's GIF demo.

Extensive Customization Options

Offers numerous properties like labelWidthWeight, cornerRadius, and custom fonts, enabling precise styling to match any app's design system, detailed in the Properties section.

Seamless Storyboard Integration

Can be added directly in Interface Builder by setting a UIView's class to GMStepper, simplifying UI setup without code, as highlighted in the Setup instructions.

Behavior Parity with UIStepper

Includes autorepeat and limit hit animations, ensuring familiar functionality while adding new features, with properties like autorepeat and limitHitAnimationColor.

Cons

UIKit-Only Implementation

Lacks native SwiftUI support, requiring UIViewRepresentable bridging for modern iOS apps, which adds complexity compared to SwiftUI-native components.

Accessibility Oversights

The sliding gesture may not be intuitive for all users, and the README doesn't detail enhanced accessibility features, potentially hindering usability in inclusive apps.

Limited Community Resources

As a niche control, there are fewer tutorials, extensions, or third-party support compared to more established UI libraries, which could slow development.

Frequently Asked Questions

Quick Stats

Stars921
Forks114
Contributors0
Open Issues17
Last commit2 years ago
CreatedSince 2015

Tags

#ios#gesture-control#ui-component#swift-package-manager#ui-control#custom-control#cocoapods#swift#uikit

Built With

U
UIKit
S
Swift

Links & Resources

Website

Included in

iOS51.7kSwift26.0k
Auto-fetched 16 hours ago

Related Projects

SkeletonViewSkeletonView

☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting

Stars12,871
Forks1,126
Last commit1 month ago
MaterialMaterial

A UI/UX framework for creating beautiful applications.

Stars11,981
Forks1,259
Last commit4 years ago
NVActivityIndicatorViewNVActivityIndicatorView

A collection of awesome loading animations

Stars10,713
Forks1,155
Last commit2 months ago
MacawMacaw

Powerful and easy-to-use vector graphics Swift library with SVG support

Stars6,048
Forks567
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub