iOS 8自定义键盘扩展UIKeyboardType

时间:2014-10-26 23:14:07

标签: ios8 ios-app-extension

我正在构建iOS 8自定义键盘,并且我希望根据UIKeyboardType更改键盘的布局,但是,在UIInputViewController中读取键盘类型始终为0。 有什么建议?提前谢谢!

- (void)viewDidLoad
{
    [super viewDidLoad];

    NSLog(@"TextInputMode: %ld", self.textDocumentProxy.keyboardType);
}

2 个答案:

答案 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,您会发现键盘落后于一种类型。