A custom UIKit control for selecting distances with a pan gesture, designed for iOS apps.
DistancePicker is a custom iOS control built with UIKit that allows users to select a distance using a pan gesture. It presents a ruler-like interface with marked intervals, making it ideal for applications that need to adjust map sizes, set geofences, or define search radii. The component integrates directly with MapKit to support location-based features.
iOS developers building apps that require interactive distance selection, such as mapping, location-based services, or geofencing applications.
Developers choose DistancePicker for its simplicity, native iOS integration, and intuitive gesture-based interaction, which eliminates the need to build custom distance selectors from scratch while ensuring a polished user experience.
Custom UIKit control to select a distance with a pan gesture, written in Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Users adjust distance with a pan gesture that mimics a ruler, providing tactile feedback as described in the key features for a natural interaction.
Designed to work directly with Apple's MapKit, making it ideal for location-based apps like geofencing or map resizing without extra configuration.
Supports Swift versions from 3.X to 5 with dedicated branches, ensuring compatibility across different project setups as shown in the compatibility table.
Available via Carthage and CocoaPods, simplifying integration into iOS projects with standard dependency management.
Only compatible with iOS apps using UIKit, making it irrelevant for cross-platform development or modern SwiftUI-based projects, which is a significant limitation.
While customizable, the README lacks detailed documentation on advanced appearance tweaks, requiring developers to dig into source code for non-standard designs.
Multiple branches for different Swift versions might indicate slower updates or fragmentation, risking compatibility issues with newer iOS features or Swift evolution.