UIResponder+KeyboardCache 0.1

UIResponder+KeyboardCache 0.1

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Dec 2014

Maintained by Unclaimed.


Downloads

Total229,612
Week0
Month0

Installs

Apps921
Test Targets98
Watch Apps2
powered by Segment

GitHub

Stars228
Watchers10
Forks17
Issues0
Contributors2
Pull Requests0

Code

Files2
LOCLines of Code 32


  • By
  • Brandon Williams

There is a small problem in iOS that causes a pretty significant delay between the first time the keyboard is requested and when it actually appears. It is only the first time, and seems to be related to the OS trying to cache various properties of the keyboard.

On my iPhone 4S running iOS 5.1 (as of June 19th, 2012) it can take anywhere between .5 and .9 seconds. It can create a frustrating user experience, and most users will try to tap the activation area multiple times, sometimes leading to accidental dismissal of the keyboard.

Plenty of people have asked about this issue on sites like Stackoverflow, but it seems the best solution is from 2009 and it seems pretty risky (sifting through subviews of UIWindow looking for the keyboard view).

This category on UIResponder gives you a simple method +cacheKeyboard so that you can control when this caching work is done. For example, if you are loading some data from a server, then you could invoke this during that downtime. There is another method +cacheKeyboard: that takes an optional BOOL value. Passing YES to this method causes the cache invocation to happen on the next runloop. So, if you performed an animation just before calling this method it would not interrupt that animation.

Installation

We love CocoaPods, so we recommend you use it.

Author

Brandon Williams
@mbrandonw
www.opetopic.com

License

UIResponder+KeyboardCache is available under the MIT license. See the LICENSE file for more info.