Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/html/extensions/Variables/includes/ExtVariables.php on line 198
UIKeyboardImpl - iPhone Development Wiki

UIKeyboardImpl

From iPhone Development Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

recursiveDefinition example on 7.1.2:

<UIKeyboardImpl: frame = (0 0; 320 216);>
   | <UIKeyboardLayoutStar: frame = (0 0; 320 216);>
   |    | <UIKBBackgroundView: frame = (0 0; 320 216);>
   |    | <UIKBKeyplaneView: frame = (0 0; 320 216);>
   |    |    | <UIKBKeyView: frame = (1 119; 40 42);>
   |    |    | <UIKBKeyView: frame = (279 119; 40 42);>
   |    |    | <UIKBKeyView: frame = (1 173; 38 42);>
   |    |    | <UIKBKeyView: frame = (41 173; 38 42);>
   |    |    | <UIKBKeyView: frame = (81 173; 158 42);>
   |    |    | <UIKBKeyView: frame = (241 173; 78 42);>
   |    | <UIKBDimmingView: frame = (0 0; 320 216);>

Accessing the shared instance

Signature + (UIKeyboardImpl *)sharedInstance;
Available in 2.0 –

This method is used to access the shared UIKeyboardImpl instance.

Programmatically inserting text

Signature - (void)addInputString:(NSString *)string;
Available in 2.0 –

You can use this method to insert text into the current text field or text view.[1]


As of iOS 13, this method no longer works. The following code can produce the same result on iOS 13 and later:

__block UIKeyboardImpl *kb = [%c(UIKeyboardImpl) sharedInstance];
UIKeyboardTaskQueue *queue = kb.taskQueue;

[queue addTask:^(UIKeyboardTaskExecutionContext *context, int arg2)
{
	[kb addInputString:insert withFlags:0 executionContext:context];
}];