0

我需要从 uitextview 获取文本。我需要的文本是滚动文本视图后的特定区域,而不是 uitextview 中的所有文本。我会在一些图片中描述我需​​要的东西。

首先,我有这个文本视图 在此处输入图像描述

然后,我想得到一些文本,比如这张图片: 在此处输入图像描述

但我不知道该怎么做,有人可以帮助我吗?谢谢你

4

2 回答 2

3
NSRange range = NSMakeRange(desired_position, 0);
[myTextview setSelectedRange:range];
于 2012-11-12T09:47:12.387 回答
0

有趣和不寻常的问题。

【为UITextView重写,原本为UITextField写的】

UITextView 基本上是包装在 UIScrollView 中的文本输入控件(使用继承)。UIScrollView 通过使用它的视图相对于它的框架的坐标来移动它的内容来工作。

查看 UITextView 的 contentOffset 以获取已发生的垂直滚动量(文本已向上滚动,因此 y 值将为负数。)

一旦有了滚动量,就需要获取 UITextView 的字体。使用 NSString sizeWithFont 来获取一行的高度。将 y 坐标除以行高,这将为您提供要跳过的换行数。

可见文本的结尾有点不同。根据您的控制器结构,UITextView 可能已调整大小,也可能未调整。例如,如果您使用的是 UITableViewController,它通常会自动调整 tableView 的大小。我将假设您已经调整了 UITextView 的大小,在这种情况下,结束 'y' 是开始 'y' + textView.frame.size.height。如果您没有调整 UITextView 的大小以适应键盘上方的空间,那么您可以更改设计以执行此操作,或者减去屏幕键盘的大小。

希望这可以帮助

于 2012-08-01T06:35:59.630 回答