UITextSelection caretRect中的UIWebview可疑崩溃

时间:2013-07-13 08:47:22

标签: ios uiwebview contenteditable user-interaction

我有一个用户可以编辑的UIWebview(iOS 6及更高版本)。 webView具有userInteractionEnabled YES,并且HTML具有contenteditable TRUE,如下所示:

- (void)configureView // called from viewDidLoad and setDetailItem:
{
    NSString *htmlString = @""
    "<html>"
    "<body>"
    "<div contenteditable=\"true\">"
    "1: Click on this line (keyboard appears)<p>"
    "<textarea>2: Clicking in this textarea causes crash</textarea><p>"
    "</div>"
    "</body>"
    "</html>";

    [myWebView loadHTMLString:htmlString baseURL:nil];

    myWebView.userInteractionEnabled = YES;
}

单击文本行会显示键盘。然后,单击textarea会导致Apple代码中出现崩溃:

  

- [UITextInteractionAssistant(UITextInteractionAssistant_Internal)oneFingerTap:] + 2204

和这个控制台输出(由NSZombieEnabled提供):

  

*** - [UITextSelection caretRect]:发送到解除分配的实例0x746ae90的消息

我做错了什么?

(其他信息:我正在使用storyboard和ARC在一个全新的Universal项目中加载UIWebView。崩溃发生在iPhone / iPad模拟器和我的iPhone 3GS 6.1.3上。)

2 个答案:

答案 0 :(得分:1)

看起来像是一个Apple bug - 我提交了一个错误报告,他们说这是一个重复的错误。这是一个解决方法:将直接的HTML文本和textarea放在单独的div标签中。

答案 1 :(得分:0)

我面临同样的问题&#34; UIWebview令人沮丧的崩溃 UITextSelection caretRect&#34;。我得到了解决方案。 解决方案:-Textarea具有contenteditable = true的默认属性,因此我们不需要添加请添加以下代码 example:- "<div contenteditable=\"true\">" "1: Click on this line (keyboard appears)<p>""</div>" <div> "<textarea>2: Clicking in this textarea causes crash</textarea><p>"</div> 它对我有用: - )