Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Swift
  3. RadioGroup

RadioGroup

MITSwift

A customizable radio button group component for iOS and SwiftUI, providing the missing native radio buttons functionality.

GitHubGitHub
190 stars32 forks0 contributors

What is RadioGroup?

RadioGroup is a Swift library that implements a radio button group component for iOS, filling a gap in the native UIKit and SwiftUI frameworks. It provides a fully customizable and easy-to-use solution for creating single-selection interfaces in iOS applications, such as settings, forms, or preference selectors.

Target Audience

iOS developers using UIKit or SwiftUI who need to implement radio button groups for single-selection user interfaces, such as in forms, settings screens, or configuration panels.

Value Proposition

Developers choose RadioGroup because it offers a native-feeling, highly customizable radio button component that is missing from UIKit and SwiftUI, with extensive styling options, SwiftUI integration, and UIAppearance support for consistent app-wide theming.

Overview

The missing iOS radio buttons group.

Use Cases

Best For

  • Implementing radio button groups in UIKit-based iOS applications where native components are unavailable.
  • Creating single-selection interfaces in SwiftUI apps using the provided RadioGroupPicker component.
  • Building forms or settings screens that require customizable radio button appearance, including colors, sizes, and layouts.
  • Applying consistent styling across radio buttons in an app using UIAppearance proxies for global theming.
  • Using attributed strings for rich text formatting in radio button titles, such as italics or underlines.
  • Developing iOS applications that need flexible radio button orientations (vertical or horizontal) and alignment options.

Not Ideal For

  • Cross-platform projects requiring radio button components for iOS, Android, or web in a single codebase.
  • Applications needing built-in form validation or complex state management integrated with radio buttons.
  • Teams preferring to avoid third-party dependencies and stick strictly to Apple's native UIKit or SwiftUI components.
  • Projects where segmented controls or pickers already meet single-selection needs without additional customization.

Pros & Cons

Pros

Flexible Layout Options

Supports both vertical and horizontal orientations with adjustable alignment and spacing, making it adaptable to various UI designs as shown in the README's layout customization examples.

Extensive Styling Control

Allows deep customization of colors, sizes, fonts, and attributed strings for titles, enabling seamless integration with app themes through code or UIAppearance proxies.

SwiftUI Native Integration

Provides RadioGroupPicker for declarative use in SwiftUI, with view modifiers for styling, bridging the gap between UIKit and modern SwiftUI development.

Global Theming Support

Enables consistent app-wide styling via UIAppearance, simplifying design system implementation as demonstrated in the README's appearance control section.

Cons

iOS-Only Limitation

Confined to iOS platforms, making it unsuitable for cross-platform projects or apps targeting macOS, watchOS, or other Apple ecosystems without additional work.

Dependency Overhead

Introduces a third-party library dependency, which can complicate maintenance, increase build times, and risk conflicts in larger projects with multiple pods or packages.

Basic Functionality Scope

Focuses solely on radio button presentation and selection, lacking advanced features like integrated accessibility enhancements or dynamic option animations beyond basic UI updates.

Frequently Asked Questions

Quick Stats

Stars190
Forks32
Contributors0
Open Issues1
Last commit11 months ago
CreatedSince 2019

Tags

#ios#radio-buttons#ui-components#spm#custom-controls#swiftui#cocoapods#swift#uikit

Built With

S
SwiftUI
U
UIKit
S
Swift

Included in

Swift26.0k
Auto-fetched 19 hours ago

Related Projects

DOFavoriteButtonDOFavoriteButton

Cute Animated Button written in Swift.

Stars3,584
Forks290
Last commit4 years ago
LGButtonLGButton

A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.

Stars2,280
Forks137
Last commit5 years ago
FloatyFloaty

:heart: Floating Action Button for iOS

Stars1,585
Forks304
Last commit3 years ago
TransitionButtonTransitionButton

UIButton sublass for loading and transition animation.

Stars1,473
Forks152
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