Javascript UIWebView因在textarea标记上长按手势而崩溃

Javascript UIWebView因在textarea标记上长按手势而崩溃,javascript,html,ios,uiwebview,textarea,Javascript,Html,Ios,Uiwebview,Textarea,我想为UIWebView使用自定义键盘。自定义键盘应全部为HTML/JS/CSS,以便用于多个设备。出于这个原因,我添加了一个通知,如bellow: [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil]; 为了不让自然键盘出现,我在调用通知时添加了以下方法 - (void

我想为UIWebView使用自定义键盘。自定义键盘应全部为HTML/JS/CSS,以便用于多个设备。出于这个原因,我添加了一个通知,如bellow:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
为了不让自然键盘出现,我在调用通知时添加了以下方法

- (void)keyboardWillShow
{
    [self.webViews endEditing:YES];
}
在HTML文件中,我有:

<!DOCTYPE>  
<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
    <title>keyboard</title>
    <link rel="stylesheet" type="text/css" href="css/style.css" />
</head>  
<body>  

<div id="container">
    <textarea id="write"></textarea>
</div>
</body>  
</html>

键盘
问题是,当我在UIWebView中运行此HTML文件并在textarea上按下longpress或双击时,它会使应用程序崩溃。 如果我删除
[self.webViews endEditing:YES]它不会使应用程序崩溃,但会打开键盘

当用户双击或长按textarea时,我怀疑UIWebView上的“复制/粘贴/选择所有”选项。我试图禁用它们,但没用。
任何想法都将不胜感激

定制键盘需要不同的方法

这里有一个很好的解释,包括一些代码示例:

这里还有另一个主题,有一些关于这个主题的讨论和链接:
这是Apple Bug#15535639,我希望他们能尽快修复。

试试这个解决方法,它对我有效

- (void)keyboardWillShow
{

    dispatch_async(dispatch_get_main_queue(), ^{
    [self.webViews endEditing:YES];
    });
}

自定义键盘应该全部为HTML/JS/CSS,以便用于多个设备。我知道,按照教程,使用UIWebView作为自定义视图。我看了教程,所有教程都是iOS代码,但我需要通过HTML/JS/CSSYes设计自定义键盘,但可以看到两个不同的步骤。步骤1是基于UIWebView创建自定义键盘视图。您需要使用objective-C代码来实现这一点。第二步是在webview中加载自定义HTML/JS/CSS键盘(这是您在第1步中创建的)。我已经创建了一个类似于本教程的键盘:我需要将它用于任何设备,而不仅仅是iOS。因此,第一步也需要是HTML/JS/CSS。