A tiny iOS accessory view inspired by Apple Watch Digital Crown for scrolling content without lifting your thumb.
CrownControl is an iOS library that adds a Digital Crown-like circular control to scrollable views, allowing users to scroll content by spinning a visual indicator. It solves the problem of excessive thumb movement when navigating long lists, documents, or collections by providing a compact, repositionable scrolling accessory.
iOS developers building apps with extensive scrollable content like document viewers, contact lists, photo galleries, or any interface where precise scrolling improves UX.
Developers choose CrownControl for its Apple Watch-inspired intuitive interaction, high customizability, and seamless UIScrollView integration without requiring major UI overhauls.
CrownControl is a tiny accessory that makes scrolling through scrollable content possible without lifting your thumb.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
CrownControl can be repositioned via force touch or long press and anchored to any view edge, allowing flexible placement without code changes, as detailed in the User Interaction section.
Supports tap, double-tap, long-press, and force-touch gestures with customizable scroll actions, enabling fine-tuned interaction like scrolling forward or to edges, as shown in the Crown Attributes.
Background and foreground surfaces can be styled with gradients, borders, colors, and custom sizes, making it easy to match app design, demonstrated in the Style and Sizes sections.
Adjustable scroll relation lets developers define how many crown spins correspond to full scroll view traversal, enhancing precision for long content, as mentioned in the Sizes properties.
CrownControl leans heavily on QuickLayout, adding an extra third-party dependency that may increase project complexity or cause conflicts with other layout libraries.
Each instance is bound to a single scroll axis (horizontal or vertical), making it unsuitable for content that requires seamless multi-directional scrolling without multiple crowns.
Requires manual configuration with constraints and delegation in code, which is more involved than drop-in native components and may steepen the learning curve for quick integrations.