A customizable iOS download button with progress and transition animations, inspired by Apple's App Store.
AHDownloadButton is a Swift library that provides a customizable download button component for iOS applications. It replicates the animated download button from Apple's App Store, featuring smooth transitions between four download states and a visual progress indicator. It solves the need for a polished, interactive download button that matches modern iOS design patterns.
iOS developers building apps that involve file downloads, media streaming, or app installation flows, particularly those seeking App Store-like UI components.
Developers choose AHDownloadButton for its exact visual match to Apple's App Store button, extensive customization options, and easy integration via multiple dependency managers. It saves time compared to building a custom animated download button from scratch.
Customizable download button with progress and transition animations. It is based on Apple's App Store download button.
Perfectly replicates the pixel-perfect visual design and interactive animations of Apple's App Store download button since iOS 11, as emphasized in the project description and philosophy.
Offers over 20 properties for customizing titles, fonts, colors, padding, and alignment in each state, detailed in the README's 'Customisation' section with examples for all four states.
Supports both delegate pattern (AHDownloadButtonDelegate) and closure callbacks for monitoring button taps, providing adaptable integration options as shown in the 'Delegate' and usage code snippets.
Available via CocoaPods, Carthage, and Swift Package Manager with clear installation instructions, making it straightforward to add to iOS projects as highlighted in the badges and installation sections.
Limited to only four download states (start, pending, downloading, downloaded), lacking common states like error or pause, which forces developers to implement workarounds for more complex download flows.
With numerous properties for each state (e.g., separate highlighted and non-highlighted colors), customization can be overwhelming and tedious, as evidenced by the lengthy 'Customisation' list in the README.
Exclusively built for iOS using Swift 5.0+, making it incompatible with Objective-C projects or cross-platform frameworks, and requiring iOS 8.0+ as per the requirements section.
The README makes no mention of accessibility features such as VoiceOver support or dynamic type integration, which are essential for inclusive app design and could require additional developer effort.
Cute Animated Button written in Swift.
A fully customisable subclass of the native UIControl which allows you to create beautiful buttons without writing any line of code.
:heart: Floating Action Button for iOS
UIButton sublass for loading and transition animation.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.