Есть ли способ (сумасшедшие хаки приветствуются) получить текущую строку в виде строки UITextView? Это может включать перенос слов и т. д. Например, в этом случае:
Метод вернет «переполнение стека. Разве это не здорово? I», потому что это текущая строка, основанная на курсоре.
Он также может возвращать «Это тест, для которого я сделал» или «Думаю да», в зависимости от положения курсора. Я пытался работать как с методами UITextView, так и с методами протокола UITextInput.
РЕДАКТИРОВАТЬ:
Вот код, который я пытался использовать. Причина, по которой мне нужно найти строку, состоит в том, чтобы получить ее длину, поэтому вы увидите код на основе пользовательского интерфейса.
NSRange location = self.textView.selectedRange;
NSString *searchString = [self.textView.text substringWithRange:NSMakeRange(0, location)];
CGSize currentStringDimensions = [searchString sizeWithFont:self.textView.font constrainedToSize:CGSizeMake(self.textView.frame.size.width, self.textView.frame.size.height) lineBreakMode:NSLineBreakByWordWrapping];
float numberOfRows = (currentStringDimensions.width/(self.textView.frame.size.width));
float left = (float)(numberOfRows - (int)numberOfRows) * (self.textView.frame.size.width);
Однако это не работает. Я думаю, что это может быть связано с переносом слов или с символами разного размера, но левое значение непоследовательно или отключено после первой строки.
UITextInput
- правильный подход). - person Wain   schedule 10.07.2013