我正在使用一个UITextView
保存静态内容(中文意思是字符都是固定宽度的)。我想让用户单击文本中的某个字符并显示该字符的字典信息。我知道所有与缺乏复制和粘贴相关的问题,但我希望有一种方法可以做到这一点,而无需等待 iPhone 3.0 固件。
起初,我考虑使用UITextView
s selectedIndex
财产。不幸的是,当UITextView
不可编辑,如下代码UITextView
总是返回整个文本块的长度:
NSRange touchPoint = self.selectedRange;
NSLog(@"Selection: %d", touchPoint.location);
我认为这是有道理的,就像不可编辑的一样UITextView
无法选择插入点,但这对我没有任何帮助。 :)
另一种方法是利用中文文本宽度固定的事实来计算点击的位置以及当时该位置下应包含哪些文本,但这会因标点符号而变得复杂,可能会导致换行提前,从而带来一行中前面的字符。
还有另一种方法可以知道我丢失的触摸事件下的文本是什么吗?
询问前请拨打以下电话selectedRange
:
[[textView webView] updateSelectionWithPoint:point];
注:两者皆有-webView
and -updateSelectionWithPoint:
是私有 API。您还可以通过切换可编辑、成为第一响应者和发送假触摸事件来执行等效行为,但这会需要更多工作
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)