iOS utility class for accessing keyboard view and tracking keyboard animations with precise frame conversion.
YYKeyboardManager is an iOS utility class that allows developers to access the keyboard's underlying view and window while tracking keyboard animations with precision. It solves the problem of handling complex keyboard interactions by providing real-time frame data, visibility status, and detailed transition information that Apple's native APIs don't expose directly.
iOS developers building applications that require custom keyboard interactions, such as chat apps, form-heavy interfaces, or any UI that needs to respond dynamically to keyboard appearance and animations.
Developers choose YYKeyboardManager because it provides direct access to keyboard components that are normally hidden, offers precise coordinate conversion between views, and delivers detailed animation data that simplifies creating smooth, responsive keyboard-aware interfaces.
iOS utility class allows you to access keyboard view and track 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.
Provides direct access to the keyboard's UIView and UIWindow for custom manipulation, as shown in the usage code where developers can retrieve these components directly.
Monitors keyboard frame and visibility status with accurate coordinate conversion, ensuring real-time UI adjustments based on exact keyboard positioning.
Offers transition information including from/to frames, duration, and animation curves, simplifying the creation of smooth, synchronized keyboard animations.
Supports iOS 6 through 11 with proper screen rotation handling, making it reliable for legacy and cross-version applications.
Written in Objective-C, it requires bridging headers in Swift projects and lacks native Swift support, which can be cumbersome for modern development workflows.
Only supports up to iOS 11 per the README, missing new features and optimizations in iOS 12 and later, limiting its relevance for current projects.
Provides raw keyboard data without built-in UI adjustments, so developers must handle all layout changes manually, increasing implementation complexity.