UIKeyboardImpl
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);>
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]; }];