我有普通的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. 在UITextView中將外部筆觸添加到NSString中
- 6. 添加到NSString
- 7. 如何添加新位置到搜索路徑
- 8. 將「最近位置」搜索添加到Django應用程序
- 9. NSString或NSMutableString中字符的位置
- 10. 動態添加UIImage到UITextView或UIScrollView
- 11. 搜索基於位置的搜索
- 12. NSString中的多重搜索
- 13. 搜索NSString中的模式
- 14. 位置搜索
- 15. UITextView的位置
- 16. RoR位置搜索
- 17. 添加一個UILabel或NSString到UIalertView
- 18. 從NSMutableArray搜索NSString並在UiTableView中添加
- 19. 添加TapGestureRecognizer到的UITextView
- 20. 如何在UITextView的特定位置計算NSString的NSRange
- 21. mysql在數字的第n位搜索
- 22. 如何添加Yii模型搜索方法的位置?
- 23. 不斷搜索NSString搜索欄中的子字符串
- 24. UItextView和NSString
- 25. NSString模式搜索
- 26. 搜索spesific位置
- 27. NSString與\ n或換行
- 28. 將搜索添加到linq查詢中
- 29. 如何實現搜索功能到UITextView?
- 30. 將UI Picker添加到UITextView
你究竟在做什麼?你想通過文本視圖找到文本被包裝到下一行的位置?爲什麼? – Wain
@現在我比較文本的某些其他部分和站在某些手動行中的文本。如果可以使用此方法完成,它將看起來像從\ n到\ n的文本是該行。所以,當我說「比較這個文本和站在我的文本視圖的第二行的文本」時,它必須這樣做 –