UITextView、UITextField获取选中文本的位置
2014-10-29 10:20
218 查看
UITextView是继承于UIScrollView
UITextField是继承于UIControl
但是它们都有一个共同点就是遵从协议UITextInput(有点类似多态,但是具体还足够未了解,所以不做定论)
里面就有我们需要接口,来获取选中文本位置的基本信息
- (CGRect)caretRectForPosition:(UITextPosition *)position;
![](https://img-blog.csdn.net/20141028094121906?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvamhnZnV5dHI=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
该方法它需要传入一个UITextPosition,可以通过UITextView里面的selectdTextRange(UITextPosition)属性获得
UITextPosition里面有start、end两个属性
通过caretRectForPosition传入start、end就可以获得上图中红色框的Rect
通过获取到两个Rect(start Rect,end Rect)就有足够的数据可以计算出想知道选中文本在文本框中相对的位置
目前个人用到的是用于针对选中文本弹指向性提示框(PopoverViewController)
UITextField是继承于UIControl
但是它们都有一个共同点就是遵从协议UITextInput(有点类似多态,但是具体还足够未了解,所以不做定论)
里面就有我们需要接口,来获取选中文本位置的基本信息
- (CGRect)caretRectForPosition:(UITextPosition *)position;
该方法它需要传入一个UITextPosition,可以通过UITextView里面的selectdTextRange(UITextPosition)属性获得
UITextPosition里面有start、end两个属性
通过caretRectForPosition传入start、end就可以获得上图中红色框的Rect
通过获取到两个Rect(start Rect,end Rect)就有足够的数据可以计算出想知道选中文本在文本框中相对的位置
目前个人用到的是用于针对选中文本弹指向性提示框(PopoverViewController)
相关文章推荐
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- [图解]在输入框和文本框中获取和设置光标位置,以及选中文本和获取选中文本值的方法 --- 详解,兼容所有浏览器。
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- Android--Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点(转)
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- .Net C# WinForm -- 获取TextBox当前焦点所在位置,插入文本,选中文本
- Android--Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- [Android教程]EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- Android开发中EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- Android - 小功能 - EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点
- EditText设置/隐藏光标位置、选中文本和获取/清除焦点