2016-05-12 1 views
0

Я хочу, чтобы получить начало строки для текущего положения курсора на UITextViewКак получить начало строки текущей позиции в UITextView

Сначала я получаю текущую позицию, то будет легко.

let currentPosition = textView.selectedTextRange!.start 

Тогда я должен получить startOfLinePosition с этим методом, но I'm не уверены в том, как получить смещение

let startOfLinePosition = textView.positionFromPosition(currentPosition, inDirection: .Left, offset: ?) 

Как я могу получить дифференциальное смещение?

ответ

3

Используйте Tokenizer:

let currentPosition = textView.selectedTextRange!.start 
let startOfLinePosition = textView.tokenizer.positionFromPosition(currentPosition, toBoundary: .Paragraph, inDirection: UITextStorageDirection.Backward.rawValue)! 
+0

прекрасно работает, но если линия обернут это не работает. –

+1

Может быть, вы действительно хотите начать абзац. Замените '.Line' на' .Paragraph' –