(iPhone)selected range用于不可编辑的uitextview(或其他点击处理方法?)
-
21-08-2019 - |
题
我正在使用 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
和 -updateSelectionWithPoint:
是私人API。您可以通过切换可编辑,成为第一响应者并发送假触摸事件来实现等效行为,但这将是更多的工作
不隶属于 StackOverflow