Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. SJFluidSegmentedControl

SJFluidSegmentedControl

MITSwift

A customizable iOS segmented control with fluid interactive animations, written in Swift 3.0.

GitHubGitHub
963 stars77 forks0 contributors

What is SJFluidSegmentedControl?

SJFluidSegmentedControl is an open-source iOS UI component that replaces the default UISegmentedControl with a highly customizable alternative featuring fluid animations. It solves the problem of boring, static segmented controls by providing interactive transitions and extensive styling options. Built in Swift 3.0, it integrates seamlessly with both code and Interface Builder.

Target Audience

iOS developers looking to enhance their app's UI with animated, customizable segmented controls beyond Apple's default component.

Value Proposition

Developers choose SJFluidSegmentedControl for its balance of visual polish and practical customization—offering fluid animations, gradient support, and Interface Builder compatibility while maintaining straightforward implementation.

Overview

A segmented control with custom appearance and interactive animations. Written in Swift 3.0.

Use Cases

Best For

  • Replacing default UISegmentedControl with animated alternatives
  • Building iOS apps with custom-designed navigation segments
  • Adding gradient-colored selectors to segmented controls
  • Creating segmented controls with custom views or attributed text
  • Implementing segmented controls with smooth transition animations
  • Developing iOS interfaces that require Interface Builder-compatible custom components

Not Ideal For

  • Objective-C projects, as it's Swift-only and the README explicitly recommends LUNSegmentedControl for Objective-C.
  • Apps built with SwiftUI, since it's a UIKit component and may require bridging or alternative solutions for modern declarative UI.
  • Projects needing segmented controls with zero configuration, due to mandatory data source implementation even for basic setups.
  • Teams targeting iOS 13+ with latest Swift versions, as compatibility with Swift 5+ may require manual updates or migration efforts.

Pros & Cons

Pros

Extensive Visual Customization

Offers rich styling options through inspectable properties like cornerRadius, shadows, and gradient colors, plus data source methods for custom views and attributed text, as detailed in the Attributes inspector screenshot.

Fluid Animated Transitions

Provides smooth, configurable animations between segments with styles like .liquid and .fade, enhancing user interaction over static default controls.

Interface Builder Integration

Can be set up visually in Xcode's Attributes inspector with properties like textColor and shadow durations, reducing code for basic configurations.

Flexible Data Source

Supports custom views, attributed strings, and gradient colors per segment through optional delegate methods, allowing for highly tailored UI elements.

Cons

Outdated Swift Version

Built for Swift 3.0, which is legacy; developers using Swift 5+ may face migration issues or lack updates for modern language features.

No Objective-C Support

Incompatible with Objective-C projects, forcing reliance on a separate library (LUNSegmentedControl) for mixed-language or legacy codebases.

Complex Data Source Setup

Requires implementing multiple optional data source methods for full customization, which can be more involved than simpler segmented control alternatives.

Frequently Asked Questions

Quick Stats

Stars963
Forks77
Contributors0
Open Issues16
Last commit3 years ago
CreatedSince 2016

Tags

#ios#animation#custom-ui#segment#control#ui-components#animated#interface-builder#mobile-development#cocoapods#swift#segmented-control

Built With

i
iOS
C
CocoaPods

Included in

iOS51.7k
Auto-fetched 6 hours ago

Related Projects

HMSegmentedControlHMSegmentedControl

A highly customizable drop-in replacement for UISegmentedControl.

Stars4,095
Forks821
Last commit2 years ago
BetterSegmentedControlBetterSegmentedControl

An easy to use, customizable replacement for UISegmentedControl & UISwitch.

Stars2,399
Forks281
Last commit3 years ago
DGRunkeeperSwitchDGRunkeeperSwitch

Runkeeper design switch control

Stars1,871
Forks172
Last commit6 years ago
TwicketSegmentedControlTwicketSegmentedControl

Custom UISegmentedControl replacement for iOS, written in Swift

Stars1,749
Forks174
Last commit3 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