I'm building a iOS 8 custom keyboard and I'd like the change the layout of the keyboard based on the UIKeyboardType, however, reading the keyboard type in UIInputViewController is always 0. Any suggestions? Thanks in advance!
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}
Get the keyboardType
in InputView Delegate Methods Instead of ViewDidLoad . Because you can't get the keyboardType until The keyboard is fully presented and the input object is activated .
- (void)textWillChange:(id<UITextInput>)textInput {
NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}
OR
- (void)textDidChange:(id<UITextInput>)textInput {
NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}
(not enough rep to add a comment sorry)
textDidChange
is the best method to use because the keyboardType has been updated when this is called. If you use textWillChange
you will find that your keyboard lags behind by one type.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With