A Swift library that simplifies keyboard animation and management for iOS apps.
KeyboardMan is a Swift library for iOS that simplifies keyboard animation by handling keyboard notifications and system bugs. It provides closures for keyboard appear and disappear events, automatically calculating keyboard height and incremental changes to help developers animate UI elements like toolbars and table views.
iOS developers building apps with text input who need to animate UI elements in response to keyboard visibility changes.
Developers choose KeyboardMan because it abstracts the notoriously complex and bug-prone iOS keyboard notification system into a clean, reliable API, saving time and reducing errors in keyboard animation logic.
KeyboardMan helps you to make keyboard 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.
Encapsulates iOS keyboard notifications into clean closures for appear and disappear events, reducing boilerplate code as shown in the example with animateWhenKeyboardAppear and disappear.
Addresses system-level bugs in keyboard notifications, ensuring more reliable behavior compared to manual handling, which the README highlights as a key pain point.
Provides keyboard height and incremental changes (keyboardHeightIncrement), simplifying the adjustment of UI constraints and content insets without extra math, as demonstrated in the tableView example.
Consists of a single Swift file that can be dragged into projects or installed via Carthage/CocoaPods, minimizing overhead and setup complexity.
Only supports basic appear/disappear animations with height data, lacking callbacks for intermediate keyboard states (e.g., during drag) or custom interaction events mentioned in the README's focus on simplicity.
Focused on UIKit with examples using tableView and constraints, offering no native support for SwiftUI, which limits its relevance for modern iOS projects adopting Apple's newer UI framework.
The README provides basic examples but lacks in-depth guides, API references, or troubleshooting for edge cases like iPad multitasking or external keyboards, relying on developers to extrapolate from minimal demos.