ユーザーが編集できる 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;
}
テキスト行をクリックすると、キーボードが表示されます。次に、テキストエリアをクリックすると、Apple のコードのどこかでクラッシュが発生します。
-[UITextInteractionAssistant(UITextInteractionAssistant_Internal) oneFingerTap:] + 2204
およびこのコンソール出力 (NSZombieEnabled 提供):
*** -[UITextSelection caretRect]: 割り当て解除されたインスタンス 0x746ae90 に送信されたメッセージ
私は何を間違っていますか?
(その他の情報: ストーリーボードと ARC を使用して、新しいユニバーサル プロジェクトに UIWebView を読み込んでいます。iPhone/iPad シミュレーターと iPhone 3GS 6.1.3 でクラッシュが発生します。)