A customizable SpriteKit bubble picker for iOS, inspired by Apple Music's genre selection interface.
Magnetic is an iOS library that provides a customizable bubble picker interface using SpriteKit. It allows developers to create floating, interactive selection menus with animations similar to Apple Music's genre picker. The library handles node management, selection logic, and physics-based interactions out of the box.
iOS developers building apps that require engaging, animated selection interfaces, such as music apps, category pickers, or interactive settings menus.
Developers choose Magnetic for its ready-to-use SpriteKit implementation of Apple Music's bubble picker, saving development time on physics animations and node management while offering extensive customization options for node appearance and behavior.
SpriteKit Floating Bubble Picker (inspired by Apple Music) 🧲
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Seamlessly integrates with SpriteKit as an SKScene subclass, making it easy to add to existing SpriteKit projects. The README demonstrates presenting it from an SKView.
Supports circular and custom-shaped nodes with text, images, and colors, allowing extensive visual tweaks. README shows how to add nodes with custom paths and margin scales.
Provides built-in physics-based animations for selection, deselection, and removal, creating a dynamic user experience. README lists animations as a core feature.
Offers MagneticDelegate for observing node events, simplifying interaction handling. README includes delegate methods for selection and deselection.
Inherently tied to SpriteKit, so it's unsuitable for apps not already using the framework, adding unnecessary complexity for UIKit-only projects.
Extensive customization requires subclassing Node and overriding animations, which is more work compared to drop-in components with pre-built styles.
Only supports iOS, with no cross-platform capabilities, making it irrelevant for projects targeting other Apple platforms like macOS or tvOS without porting.