2013-08-29 41 views
0

我正在使用UIWebView来显示格式化的内容。但是,我需要用我们自己的UITextViews/UITextFields替换默认键盘。需要替换UIWebView UITextField键盘

我可以使用怪诞的方法来隐藏默认键盘出现时,但我找不到指向输入的文本字段。 UITextFieldTextDidBeginEditingNotificationUITextViewTextDidBeginEditingNotification永远不会被解雇。我确实看到UIKeyboardWillShowNotification等正确发射。

重要的是最终的结果应该是App Store批准的。

回答

0

编辑:

当键盘通知到来时,注意哪个HTML元素集中。然后让你的视图控制器成为第一响应者。

[self becomeFirstResponder]; 

您的视图控制器应成为第一响应者并返回您的自定义输入视图。

- (BOOL)canBecomeFirstResponder { 
    return YES; 
} 

- (UIView*)inputView { 
    return _customInputView; 
} 

当您的自定义输入视图被输入时,您可以将它传递给HTML元素。

NSString* script = [NSString stringWithFormat:@"element.value += '%@';", input]; 
[_webView stringByEvaluatingJavascriptFromString:script]; 
+0

不幸的是,我找不到任何UITextField对象进行修改。我使用inputView作为我们自己的对象,但UIWebView似乎并没有实际创建它们。我做了一个转储,至少我没有看到。 – FarOutProjects

+0

我编辑了我的答案,提出了一种实现您的要求的方法。 – cahn