A highly customizable drop-in replacement for UISegmentedControl for iOS apps.
HMSegmentedControl is an open-source iOS UI component that serves as a highly customizable drop-in replacement for Apple's UISegmentedControl. It solves the limitations of the native control by offering extensive styling options, support for both text and images, horizontal scrolling for many segments, and compatibility with older iOS versions. Developers use it to create sophisticated segmented interfaces in apps ranging from social media to finance.
iOS developers building apps with Swift or Objective-C who need advanced, customizable segmented controls beyond what UISegmentedControl provides. It's particularly useful for projects requiring rich visual styling, image-based segments, or horizontal scrolling.
Developers choose HMSegmentedControl for its deep customization capabilities, reliable performance in production apps (used by TikTok, PayPal, etc.), and seamless drop-in integration. It offers more features than the native control while maintaining compatibility with iOS 7 through 13 and both major iOS programming languages.
A highly customizable drop-in replacement for UISegmentedControl.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Supports text, images, fonts, colors, kerning, and shadows, allowing developers to create visually rich segmented interfaces beyond native UISegmentedControl limitations, as shown in the multiple styling screenshots.
Compatible from iOS 7 to iOS 13, updated for Xcode 11 and Swift 5, making it suitable for apps supporting older devices without sacrificing modern tooling.
Works seamlessly with both Swift and Objective-C, ideal for projects with mixed codebases or those transitioning between languages, as emphasized in the features list.
Used by major apps like TikTok and PayPal in over 22,000 apps, demonstrating its stability and performance in high-demand, real-world environments.
Lacks support for SwiftUI, so it's not suitable for modern iOS apps built entirely with Apple's declarative UI framework, requiring workarounds like UIViewRepresentable.
Introduces an external dependency through CocoaPods or Carthage, which can complicate project setup, updates, and increase binary size compared to using native controls.
While updated for iOS 13 and Swift 5, the README doesn't explicitly mention support for iOS 14+ or ongoing maintenance, posing a risk for future compatibility in rapidly evolving iOS ecosystems.