我正在构建iOS 8自定义键盘,并且我希望根据UIKeyboardType更改键盘的布局,但是,在UIInputViewController中读取键盘类型始终为0。 有什么建议?提前谢谢!
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}
答案 0 :(得分:6)
在InputView Delegate方法中获取keyboardType
而不是ViewDidLoad。因为您无法获得keyboardType,直到键盘完全呈现并且输入对象被激活。
- (void)textWillChange:(id<UITextInput>)textInput {
NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}
OR
- (void)textDidChange:(id<UITextInput>)textInput {
NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}
答案 1 :(得分:1)
(没有足够的代表添加评论抱歉)
textDidChange
是最好的方法,因为在调用它时,keyboardType已更新。如果您使用textWillChange
,您会发现键盘落后于一种类型。