我需要从uitextview获取文本。滚动文本视图后,我需要的文本特别是区域,而不是uitextview中的所有文本。 我会在一些图片中描述我需要的东西。
首先,我有这个textview
然后,我想得到一些文字,如下图所示:
但我不知道该怎么做,有人能帮帮我吗? 谢谢
答案 0 :(得分:3)
NSRange range = NSMakeRange(desired_position, 0);
[myTextview setSelectedRange:range];
答案 1 :(得分:0)
有趣且不寻常的问题。
[重写UITextView,最初是为UITextField编写的]
UITextView基本上是一个包含在UIScrollView中的文本输入控件(使用继承)。 UIScrollView的工作原理是使用它的相对于框架的视图的坐标来移动它的内容。
查看UITextView的contentOffset以获取已发生的垂直滚动量(文本已向上滚动,因此y值将为负值。)
一旦有了滚动量,就需要获取UITextView的字体。使用NSString sizeWithFont获取行的高度。将y坐标除以线高,这将为您提供要跳过的换行符数。
可见文字的结尾有点不同。根据您的控制器结构,UITextView可能已调整大小。例如,如果您正在使用UITableViewController,它通常会自动调整tableView的大小。我将假设你已经调整了UITextView的大小,在这种情况下,结束'y'是开始'y'+ textView.frame.size.height。如果您没有调整UITextView的大小以适应键盘上方的空间,那么您可以更改设计,或者减去屏幕键盘的大小。
希望这有帮助