1. 程式人生 > >UITextView、UITextField獲取選中文字的位置

UITextView、UITextField獲取選中文字的位置

UITextView是繼承於UIScrollView

UITextField是繼承於UIControl

但是它們都有一個共同點就是遵從協議UITextInput(有點類似多型,但是具體還足夠未了解,所以不做定論)

裡面就有我們需要介面,來獲取選中文字位置的基本資訊

- (CGRect)caretRectForPosition:(UITextPosition *)position;



該方法它需要傳入一個UITextPosition,可以通過UITextView裡面的selectdTextRange(UITextPosition)屬性獲得

UITextPosition裡面有start、end兩個屬性

通過caretRectForPosition傳入start、end就可以獲得上圖中紅色框的Rect

通過獲取到兩個Rect(start Rect,end Rect)就有足夠的資料可以計算出想知道選中文字在文字框中相對的位置

目前個人用到的是用於針對選中文字彈指向性提示框(PopoverViewController)