Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. TwicketSegmentedControl

TwicketSegmentedControl

MITSwift0.1.2

A customizable UISegmentedControl replacement for iOS with smooth drag-and-tap gestures, written in Swift.

GitHubGitHub
1.7k stars171 forks0 contributors

What is TwicketSegmentedControl?

TwicketSegmentedControl is a custom iOS UI component written in Swift that replaces Apple's UISegmentedControl. It provides a more interactive and visually appealing segmented control with smooth drag-and-tap gestures, inertia-based movement, and extensive customization options. It solves the need for a more dynamic and engaging segmented control in iOS applications.

Target Audience

iOS developers building apps that require enhanced user interaction for segment selection, particularly those looking for a more fluid alternative to the standard UISegmentedControl.

Value Proposition

Developers choose TwicketSegmentedControl for its smooth, inertia-driven animations that allow users to "throw" the selector, its full Interface Builder compatibility, and its easy customization of colors and appearance, offering a superior user experience over the native control.

Overview

Custom UISegmentedControl replacement for iOS, written in Swift

Use Cases

Best For

  • Replacing the default UISegmentedControl with a more interactive version
  • Adding gesture-based segment selection with drag and tap support
  • Implementing segmented controls with smooth, animated transitions
  • Customizing segmented control colors and appearance in iOS apps
  • Building iOS interfaces that require a fluid, physics-based UI component
  • Creating Interface Builder-compatible custom controls in Swift

Not Ideal For

  • Apps requiring segmented controls with dynamic or custom heights, as the contentView is fixed at 40 points.
  • Projects needing image-based segments or rich media content, since it only supports text titles.
  • Teams using Swift versions incompatible with Swift 3.0, unless willing to update the codebase.
  • Applications where minimizing third-party dependencies is critical, due to reliance on CocoaPods or Carthage for installation.

Pros & Cons

Pros

Fluid Interaction

Inertia-based movement allows users to 'throw' the selector between segments, providing smooth, engaging animations as shown in the demo GIF.

Easy Integration

Fully compatible with Interface Builder for drag-and-drop setup, and supports instantiation by code with simple methods like setSegmentItems(titles).

Customizable Appearance

Offers properties to customize text colors, segment backgrounds, and slider shadow, making it adaptable to various app designs without extensive coding.

Delegate Notifications

Provides a straightforward delegate method (didSelect) to listen for selection changes, enabling seamless integration with app logic.

Cons

Fixed Height Limitation

The contentView height is always 40 points, regardless of the outer frame, which restricts design flexibility and may not fit all UI layouts.

Text-Only Segments

Only supports text titles for segments; lacks built-in options for images or custom views, limiting visual customization compared to native controls.

Potential Swift Compatibility Issues

Built with Swift 3.0, which may require manual updates or cause compilation errors in projects using newer Swift versions like 4 or 5.

Limited Advanced Features

Missing features such as accessibility enhancements, segmented control styles, or support for dynamic segment resizing, which are available in UISegmentedControl.

Frequently Asked Questions

Quick Stats

Stars1,740
Forks171
Contributors0
Open Issues13
Last commit4 years ago
CreatedSince 2015

Tags

#ios#ui-components#interface-builder#custom-controls#gesture-handling#swift#segmented-control#uikit

Built With

S
Swift

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

HMSegmentedControlHMSegmentedControl

A highly customizable drop-in replacement for UISegmentedControl.

Stars4,067
Forks817
Last commit2 years ago
BetterSegmentedControlBetterSegmentedControl

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

Stars2,412
Forks280
Last commit3 years ago
DGRunkeeperSwitchDGRunkeeperSwitch

Runkeeper design switch control

Stars1,861
Forks171
Last commit6 years ago
SJFluidSegmentedControlSJFluidSegmentedControl

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

Stars961
Forks77
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