CocoaPods trunk is moving to be read-only. Read more on the blog, there are 13 months to go.
| TestsTested | ✗ |
| LangLanguage | Obj-CObjective C |
| License | MIT |
| ReleasedLast Release | Nov 2015 |
Maintained by Meiwin Fu.
Objective-c library for tracking keyboard in iOS apps.
If you are using Cocoapods, add to your Podfile:
pod 'NgKeyboardTracker'To manually add to your projects:
NgKeyboardTracker folder to your project.UIKit.NgKeyboardTracker encapsulates keyboard tracking for iOS apps.
It provides convenience to query keyboard's properties anywhere in your application.
You can also use NgKeyboardTracker to implement iMessage's text input behavior on iOS 7 (UIScrollViewKeyboardDismissModeInteractive + persistent inputAccessoryView) using NgPseudoInputAccessoryViewCoordinator.
In your application delegate:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[[NgKeyboardTracker sharedTracker] start]; // start tracking
return YES;
}
- (void)applicationWillTerminate:(UIApplication *)application {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
[[NgKeyboardTracker sharedTracker] stop]; // stop tracking
}NgKeyboardTrackerDelegate protocol.-addDelegate: method-removeDelegate: to stop receiving keyboard updatesKeyboard tracker's properties:
appearanceState : current appearance statebeginFrame : last known begin frameendFrame: last known framecurrentFrame: last known current keyboard's frameanimationDuration: last known animation durationanimationCurve: last known animation curveanimationOptions : derived from animationCurve for convenienceP.S. keyboard's frame.size.height system's keyboard height plus inputAccessoryView height.
NgPseudoInputAccessoryViewCoordinator is NgKeyboardTracker extension that makes it easier to implement iMessage's text input behavior in iOS 7 with UIScrollViewKeyboardDismissModeInteractive and persistent inputAccessoryView.
The view controller:
loadView to set custom UIView implementation.becomeFirstResponder.The custom view:
NgPseudoInputAccessoryViewCoordinator by calling -createPseudoInputAccessoryViewCoordinator.-canBecomeFirstResponder, returns YES.-inputAccessoryView, returns coordinator's pseudoInputAccessoryView.UIScrollView's keyboard dismiss mode to UIScrollViewKeyboardDismissModeInteractive.-setPseudoInputAccessoryViewHeight:.NgKeyboardTracker in layoutSubviews.P.S. See demo application for example.