在内容可编辑的UIWebView中,当它处于空行时,请注意插入

出于某种原因,我需要在内容可编辑的UIWebView中获得插入符的垂直位置。 有许多方法可以阻止插入符号闪烁(例如创build/删除隐藏节点时),我使用这个javascript / Objective-C代码:

- (CGRect)caretRect { NSString *js = @"function f(){ var sel = document.getSelection(); var range = sel.getRangeAt(0).cloneRange(); range.collapse(true); var r =range.getClientRects()[0]; return '{{'+r.left+','+r.top+'},{'+r.width+','+r.height+'}}'; } f();"; NSString *result = [self.webTexteView stringByEvaluatingJavaScriptFromString:[NSString stringWithString:js]]; CGRect rect = CGRectFromString(result); return rect; } 

不幸的是,当插入符号处于空白行时,此代码将返回一个{0,0} {0,0}矩形。

任何人都知道在任何情况下,如何在照片的垂直位置(即列表中的垂直位置)保持闪烁? 谢谢!

这个答案解决了我的这个问题: https : //stackoverflow.com/a/6847328/135712

基本上,你需要插入一个新的DOM元素,获得它的位置,然后删除它。