【发布时间】:2013-07-07 15:03:37
【问题描述】:
有没有办法(欢迎疯狂黑客攻击)将当前行作为 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);
但是,这不起作用。我认为这可能与被包装的单词或不同大小的字符有关,但左边的值在第一行之后不一致或关闭。
【问题讨论】:
-
显示您尝试过的代码以及它实际返回的内容,您的接近程度(我认为
UITextInput是正确的方法)。 -
将用它更新主要问题
标签: ios uikit uitextfield uitextview uitextinput