Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. DynamicButton

DynamicButton

MITSwift

A Swift library for creating animated flat buttons with built-in symbols and custom style support.

Visit WebsiteGitHubGitHub
1.2k stars67 forks0 contributors

What is DynamicButton?

DynamicButton is a Swift library for creating animated flat buttons with built-in symbols and custom style support. It solves the problem of implementing interactive buttons with smooth animations—like hamburger menus that transform into close buttons—without requiring custom drawing code. The library provides a collection of pre-designed symbols and an extensible API for creating custom button styles.

Target Audience

iOS and tvOS developers building applications with custom UI controls, particularly those needing animated navigation buttons, media controls, or interactive symbols. It's ideal for developers who want polished button animations without implementing Core Graphics drawing manually.

Value Proposition

Developers choose DynamicButton for its ready-to-use animated symbols, smooth transitions, and easy customization. Unlike basic UIButton implementations, it provides a declarative API for button styles with built-in animations and extensibility for custom symbols.

Overview

Yet another animated flat buttons in Swift

Use Cases

Best For

  • Implementing animated hamburger menu buttons in navigation bars
  • Adding play/pause/stop controls with smooth state transitions
  • Creating custom toggle buttons with animated icon changes
  • Building media players with animated forward/rewind buttons
  • Designing custom navigation controls with arrow symbols
  • Developing iOS apps with flat design button requirements

Not Ideal For

  • Projects requiring non-flat, skeuomorphic button designs with gradients or shadows
  • Cross-platform applications targeting macOS, watchOS, or non-Apple ecosystems
  • Teams that need buttons with complex, multi-step animations beyond simple style transitions

Pros & Cons

Pros

Smooth Animated Transitions

Provides built-in animations for switching between styles like hamburger to close, eliminating the need for manual Core Animation code.

Rich Symbol Library

Includes 25+ pre-built symbols such as arrows, play/pause, and download, covering common UI needs without custom drawing.

Extensible Custom Symbols

Supports custom styles via the DynamicButtonBuildableStyle protocol, allowing developers to create unique buttons tailored to specific designs.

Easy Visual Customization

Properties like lineWidth and strokeColor can be adjusted directly, enabling precise styling to match app themes.

Cons

Flat Design Limitation

All button styles are inherently flat, which may not suit projects requiring textured, dimensional, or heavily styled buttons.

Complex Custom Creation

Implementing custom symbols requires Core Graphics knowledge and is restricted to a maximum of four paths, adding development overhead.

Platform Restriction

Only supports iOS and tvOS, excluding other Apple platforms like macOS and watchOS, limiting cross-platform use.

Frequently Asked Questions

Quick Stats

Stars1,152
Forks67
Contributors0
Open Issues6
Last commit6 years ago
CreatedSince 2015

Tags

#hamburger-menu#flat-design#ios#ui-components#custom-controls#mobile-development#swift#uikit

Built With

S
Swift

Links & Resources

Website

Included in

iOS51.7k
Auto-fetched 1 day ago

Related Projects

LiquidFloatingActionButtonLiquidFloatingActionButton

Material Design Floating Action Button in liquid state

Stars3,840
Forks460
Last commit4 years ago
DOFavoriteButtonDOFavoriteButton

Cute Animated Button written in Swift.

Stars3,583
Forks289
Last commit4 years ago
VBFPopFlatButtonVBFPopFlatButton

Flat button with 9 different states using POP

Stars3,065
Forks285
Last commit2 years ago
BEMCheckBoxBEMCheckBox

Tasteful Checkbox for iOS. (Check box)

Stars2,609
Forks290
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