有没有办法(欢迎疯狂黑客攻击)将当前行作为 UITextView 的字符串?这将包括自动换行等。例如,在这种情况下:
该方法将返回“堆栈溢出。不是很好吗?我”,因为这是基于光标的当前行。
它还可以根据光标的位置返回“这是我为之做的测试”或“这样想”。我尝试过使用 UITextView 方法和 UITextInput 协议的方法。
编辑:
这是我尝试使用的代码。我需要找到字符串的原因是为了得到它的长度,所以这就是为什么你会看到基于 UI 的代码。
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);
然而,这不起作用。我认为这可能与被包装的单词或不同大小的字符有关,但左值在第一行之后不一致或关闭。