我有一个用户可以编辑的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上。)
答案 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>
它对我有用: - )