Iphone 需要更换UIWebView UITextField键盘
我正在使用Iphone 需要更换UIWebView UITextField键盘,iphone,ios,objective-c,uiwebview,uitextfield,Iphone,Ios,Objective C,Uiwebview,Uitextfield,我正在使用UIWebView显示格式化内容。但是,我需要用自己的键盘替换UITextViews/UITextFields的默认键盘 我可以使用奇怪的方法在默认键盘出现时隐藏它,但我找不到文本字段来直接输入UITextFieldTextDidBeginEditingNotification或UITextViewTextDidBeginEditingNotification从未被触发。我确实看到ui键盘将显示通知etc正确发出 最终结果必须经过App Store批准,这一点很重要。编辑: 当键盘通知
UIWebView
显示格式化内容。但是,我需要用自己的键盘替换UITextViews/UITextFields
的默认键盘
我可以使用奇怪的方法在默认键盘出现时隐藏它,但我找不到文本字段来直接输入UITextFieldTextDidBeginEditingNotification
或UITextViewTextDidBeginEditingNotification
从未被触发。我确实看到ui键盘将显示通知
etc正确发出
最终结果必须经过App Store批准,这一点很重要。编辑:
当键盘通知发出时,请注意关注哪个HTML元素。然后让视图控制器成为第一响应者
[self becomeFirstResponder];
视图控制器应该成为第一响应者并返回自定义输入视图
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (UIView*)inputView {
return _customInputView;
}
当自定义输入视图获得输入时,可以将其传递给HTML元素
NSString* script = [NSString stringWithFormat:@"element.value += '%@';", input];
[_webView stringByEvaluatingJavascriptFromString:script];
遗憾的是,我找不到任何要修改的UITextField对象。我将inputView用于我们自己的对象,但UIWebView似乎并没有实际创建它们。我做了一个转储,但至少没有看到一个。我编辑了我的答案,以建议实现您的需求的方法。