我有普通的NSString,我把它放到UITextView
。当新行开始时,我需要搜索位置。我认为可以这样做,如果textview将字符串从 @"This is a big test string which i want to put into UITextView"
转换为@"This is a\n big test \nstring which\n i want to\n put into\n UITextView"
automaticaly。然后我可以搜索“\ n”并找到某行的位置。任何想法我怎么能做到这一点?添加 N到NSString或搜索UITextView中的位置
回答
这不是UITextView的工作方式。在容器中放置文本的过程比查找换行符更复杂,并且不会生成包含NL字符的新字符串。
在iOS 7上,您可以使用UITextView
的TextKit属性(layoutManager
,textContainer
,...)访问底层的布局组件,并查询它们以获取字符串部分的位置。
如果您必须支持较旧的iOS版本,则UITextInput
协议中有characterRangeByExtendingPosition:inDirection:
。您可以使用它来计算一行文本的范围。
我所做的一切努力都失败了。你能写我如何从第三行获得文本(例如)?我非常感谢你的回答 –
@IgorPrusyazhnyuk请告诉我们你的想法。使用上述API的问题究竟在哪里? –
NSString * firstString; //假定大字符串 UITextView * myTextView = [[UITextView alloc] init]; myTextView.frame = CGRectMake(100,100,300,400); myTextView.text = firstString; UITextRange * myRange = [myTextView characterRangeByExtendingPosition:[myTextView closestPositionToPoint:CGPointMake(10,10)] inDirection:UITextLayoutDirectionRight]; UITextPosition * myTextPosition = [myRange start]; int position = [myTextView offsetFromPosition:myTextView.beginningOfDocument toPosition:myTextPosition]; '任何时候输出总是0.假设10,10是行的开始 –
我在应用程序中计算“\ n”以知道何时隐藏键盘。而不是计数\ ns,您可以计算其他字符以获得您的“\ n”位置。行只计算“\ n”的数量,并在视图加载时重置为零。
// dismiss keyboard from text view with return key
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text
{
if([text isEqualToString:@"\n"]) {
rows++;
if (rows >= 2){
// resign text view
[self.quotationTextView resignFirstResponder];
return NO;
}else{
return YES;
}
}else{
rows = 0;
}
return YES;
}
用户不会向UITextView输入文本。我将从其他资源中获取我无法更改的文本 –
- 1. UiTextView - 仅添加一行时的位置
- 2. 如何使用batch或vbscript将位置添加到Windows 7/8搜索索引?
- 3. 添加位置到Windows 7搜索索引
- 4. 搜索中的NSString
- 5. 将“最近位置”搜索添加到Django应用程序
- 6. 如何添加新位置到搜索路径
- 7. 添加到NSString
- 8. 动态添加UIImage到UITextView或UIScrollView
- 9. NSString或NSMutableString中字符的位置
- 10. 搜索基于位置的搜索
- 11. 搜索NSString中的模式
- 12. NSString中的多重搜索
- 13. 位置搜索
- 14. UITextView的位置
- 15. RoR位置搜索
- 16. 添加一个UILabel或NSString到UIalertView
- 17. 从NSMutableArray搜索NSString并在UiTableView中添加
- 18. 添加TapGestureRecognizer到的UITextView
- 19. 如何在UITextView的特定位置计算NSString的NSRange
- 20. 如何添加Yii模型搜索方法的位置?
- 21. 不断搜索NSString搜索栏中的子字符串
- 22. 搜索spesific位置
- 23. NSString模式搜索
- 24. UItextView和NSString
- 25. NSString与\ n或换行
- 26. 将搜索添加到linq查询中
- 27. 如何实现搜索功能到UITextView?
- 28. 将标题添加到UITextView
- 29. 将图像添加到UITextView
- 30. 添加文本到UITextView
你究竟在做什么?你想通过文本视图找到文本被包装到下一行的位置?为什么? – Wain
@现在我比较文本的某些其他部分和站在某些手动行中的文本。如果可以使用此方法完成,它将看起来像从\ n到\ n的文本是该行。所以,当我说“比较这个文本和站在我的文本视图的第二行的文本”时,它必须这样做 –