A powerful iOS UIButton library with extensive customization options, including gradients, shadows, ripple effects, and loaders.
PMSuperButton is an open-source iOS library that extends the standard UIButton with extensive customization capabilities. It solves the problem of creating complex, visually rich buttons by providing features like gradients, shadows, ripple effects, toggle states, and loaders, all configurable via Interface Builder or code.
iOS developers building applications with custom UI designs who need advanced button styling beyond Apple's default UIButton capabilities.
Developers choose PMSuperButton for its deep integration with Interface Builder, reducing code overhead, and its comprehensive feature set that includes Material Design ripple effects, loaders, and toggle functionality not available in standard UIButton.
🔥 PMSuperButton is a powerful UIButton coming from the countryside, but with super powers! 😎
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables full customization directly in Interface Builder's Attributes Inspector, reducing code and accelerating UI design as shown in the README's configuration screenshots.
Supports gradients, shadows, borders, corner radius, and state-based animations, allowing complex button designs without manual drawing code.
Includes Google Material-like ripple animations with customizable color and speed, enhancing user interaction feedback as demonstrated in the GIFs.
Uses closures for touch events instead of IBAction or selectors, simplifying event handling code with methods like `touchUpInside`.
Provides a loading spinner that can disable user interaction, useful for async operations with methods like `showLoader` and `hideLoader`.
Limited to UIKit-based apps, not natively compatible with SwiftUI or other modern frameworks, requiring bridging for integration.
Requires different releases for Swift 3, 4, and 5, complicating dependency management and upgrades, as noted in the compatibility section.
Adds extra code and assets, potentially increasing app size, which may not be justified for projects with simple button needs.