Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

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

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. FanMenu

FanMenu

MITSwift

A customizable floating circular menu for iOS/macOS built with the Macaw vector graphics library.

GitHubGitHub
724 stars54 forks0 contributors

What is FanMenu?

FanMenu is a Swift library that provides a floating circular menu with a radial layout for iOS and macOS applications. It enables developers to create visually appealing, fan-style menus that expand from a central button to enhance user interface navigation and actions. Built using the Macaw vector graphics library, it offers smooth animations and deep customization.

Target Audience

iOS and macOS developers looking to implement interactive, circular floating menus in their applications, particularly those who value visual design and need a customizable radial navigation component.

Value Proposition

Developers choose FanMenu for its easy integration and high customizability through simple Swift properties, along with its foundation on Macaw for vector-based graphics enabling smooth animations and visual fidelity. It provides precise event handling and programmatic control over menu states.

Overview

Menu with a circular layout based on Macaw

Use Cases

Best For

  • Implementing floating action buttons with radial menu options in iOS/macOS apps
  • Creating visually engaging navigation menus with fan-style circular layouts
  • Adding customizable interactive menus with smooth animations using vector graphics
  • Building finance or task management apps with stylish circular action selectors
  • Developing apps that require programmatic control over menu open/close states and event handling
  • Integrating a lightweight, single-file menu component that can be easily modified via Macaw

Not Ideal For

  • Projects that must minimize third-party dependencies, as FanMenu relies on the Macaw vector graphics library
  • Applications requiring non-circular menu layouts, such as linear or grid-based navigation
  • Teams needing out-of-the-box accessible UI components without additional customization work

Pros & Cons

Pros

Easy Customization

Colors, images, animation duration, radius, and background can be configured through simple Swift properties, as shown in the usage examples with menuRadius and duration settings.

Precise Event Handling

Supports onItemDidClick and onItemWillClick callbacks, allowing developers to control user interactions before and after animations for fine-grained response.

Programmatic State Control

Methods like open(), close(), and the isOpen property enable dynamic management of the menu's open/close state directly in code.

Vector Graphics Foundation

Built with the Macaw library, ensuring smooth animations and high visual fidelity, with the entire source in one file for easy modification.

Cons

Macaw Dependency

Requires the Macaw library, which adds an external dependency and can increase app size or complexity if not already integrated.

Layout Inflexibility

Designed exclusively for circular fan menus, making it unsuitable for other menu styles like linear or dropdown without significant source code changes.

Accessibility Oversight

The README does not address built-in accessibility features, so developers must manually implement accessibility support for screen readers and other assistive technologies.

Frequently Asked Questions

Quick Stats

Stars724
Forks54
Contributors0
Open Issues2
Last commit2 years ago
CreatedSince 2017

Tags

#ios#radial-menu#animation#custom-ui#menu#ui#ui-components#mobile-development#swift#macos#circular-menu

Built With

S
Swift

Included in

iOS51.7kSwift26.0k
Auto-fetched 3 hours ago

Related Projects

RESideMenuRESideMenu

iOS 7/8 style side menu with parallax effect.

Stars7,049
Forks1,325
Last commit8 years ago
XLPagerTabStripXLPagerTabStrip

Android PagerTabStrip for iOS.

Stars7,003
Forks1,316
Last commit2 years ago
SideMenuSideMenu

Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.

Stars5,826
Forks695
Last commit3 years ago
ViewDeckViewDeck

An implementation of the sliding menu found in various iOS apps.

Stars5,271
Forks956
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