【问题标题】:UIWebView crashes for long press gesture on textarea tagUIWebView 在 textarea 标签上因长按手势而崩溃
【发布时间】:2013-11-18 21:35:19
【问题描述】:

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

[[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 上长按或双击时,它会使应用程序崩溃。 如果我删除 [self.webViews endEditing:YES]; 它不会使应用程序崩溃,但会调出键盘。

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

【问题讨论】:

    标签: javascript html ios uiwebview textarea


    【解决方案1】:

    自定义键盘需要不同的方法。

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

    这里还有一个关于 SO 的帖子,其中包含有关该主题的一些讨论和链接: How to create a custom keyboard

    【讨论】:

    • 自定义键盘应全部为 HTML/JS/CSS 以便用于多个设备。
    • 我知道,按照教程使用 UIWebView 作为自定义视图。
    • 我看了教程,都是iOS代码,但是我需要用HTML/JS/CSS设计自定义键盘
    • 是的,但视为 2 个不同的步骤。第 1 步是创建一个基于 UIWebView 的自定义键盘 view。您将需要 Objective-C 代码来实现这一目标。第 2 步是在 web 视图中加载您的自定义 HTML/JS/CSS 键盘(您在第 1 步中创建)。
    • 我已经创建了一个类似本教程的键盘:net.tutsplus.com/tutorials/javascript-ajax/… 我需要将它用于任何设备,而不仅仅是 iOS。所以第一步也需要HTML/JS/CSS。
    【解决方案2】:

    这是 Apple 错误 #15535639,希望他们尽快修复。

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-08
        • 1970-01-01
        • 2013-03-09
        • 2019-09-15
        • 2013-09-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多