Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. NgKeyboardTracker

NgKeyboardTracker

MITObjective-C

Objective-C library for tracking keyboard frame and animation properties in iOS apps.

GitHubGitHub
794 stars80 forks0 contributors

What is NgKeyboardTracker?

NgKeyboardTracker is an Objective-C library for iOS that tracks the keyboard's frame, animation properties, and appearance state. It solves the problem of manually handling keyboard notifications and calculating keyboard frames, providing a centralized way to build interfaces that respond dynamically to keyboard changes.

Target Audience

iOS developers building apps that require responsive UI adjustments based on keyboard visibility, such as chat apps, forms, or any input-heavy interfaces.

Value Proposition

Developers choose NgKeyboardTracker because it encapsulates complex keyboard tracking logic into a simple, reusable library, supports advanced behaviors like iMessage-style interactive dismissal, and reduces the boilerplate code typically needed for keyboard handling.

Overview

Objective-C library for tracking keyboard in iOS apps.

Use Cases

Best For

  • Implementing chat interfaces with interactive keyboard dismissal
  • Building forms that adjust layout when the keyboard appears
  • Creating custom input accessory views that persist during keyboard interactions
  • Tracking keyboard animation properties for synchronized UI updates
  • Developing iOS 7+ apps that need precise keyboard frame information
  • Reducing boilerplate code for keyboard notification handling

Not Ideal For

  • Swift-only projects that prefer not to introduce Objective-C dependencies
  • Apps with simple form inputs that can rely on iOS's built-in UITextField adjustments
  • Teams needing extensive documentation and active community support for frequent updates

Pros & Cons

Pros

Centralized Keyboard Properties

Provides easy querying of keyboard frame, animation duration, and curve from anywhere in the app, as demonstrated in the usage section for properties like currentFrame and animationOptions.

Delegate-Based Real-Time Updates

Enables immediate UI adjustments by implementing NgKeyboardTrackerDelegate, allowing apps to respond dynamically to keyboard appearance and frame changes.

Advanced UI Behaviors

Facilitates iMessage-style interactive keyboard dismissal with persistent input accessory views using NgPseudoInputAccessoryViewCoordinator, as outlined in the demo for iOS 7+ apps.

Reduced Boilerplate Code

Encapsulates complex keyboard notification handling into a simple start/stop interface, eliminating manual setup for tracking keyboard events across the app.

Cons

Objective-C Dependency

As an Objective-C library, it requires bridging headers for Swift projects, adding integration complexity and potentially deterring modern iOS developers.

Sparse Documentation

The README lacks detailed API references and comprehensive examples, forcing reliance on the demo app for advanced implementations like NgPseudoInputAccessoryViewCoordinator.

iOS 7+ Focus Limitations

Advanced features like iMessage-style behavior are tailored for iOS 7, which may not fully utilize newer iOS APIs or be optimized for the latest iOS versions.

Frequently Asked Questions

Quick Stats

Stars794
Forks80
Contributors0
Open Issues0
Last commit10 years ago
CreatedSince 2015

Tags

#ios#objective-c#mobile-development#ui-adaptation#cocoapods#uikit

Built With

U
UIKit
O
Objective-C

Included in

iOS51.7k
Auto-fetched 16 hours ago

Related Projects

IQKeyboardManagerIQKeyboardManager

Codeless drop-in universal library allows to prevent issues of keyboard sliding up and cover UITextField/UITextView. Neither need to write any code nor any setup required and much more.

Stars16,626
Forks2,451
Last commit2 months ago
TPKeyboardAvoidingTPKeyboardAvoiding

A drop-in universal solution for moving text fields out of the way of the keyboard in iOS

Stars5,799
Forks916
Last commit2 years ago
IHKeyboardAvoidingIHKeyboardAvoiding

IHKeyboardAvoiding is an elegant solution for keeping any UIView visible when the keyboard is being shown - no UIScrollView required!

Stars1,405
Forks155
Last commit3 years ago
TypistTypist

Swift UIKit keyboard manager for iOS apps.

Stars1,056
Forks47
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub