我有文本的uitextview。我想逐行讀取它。我希望它可以支持iOS 5並且不需要委託方法。我怎樣才能做到這一點?如何逐行讀取uitextview文本行?
0
A
回答
5
使用:
NSArray *lines = [textView.text componentsSeparatedByString:@"\n"];
你的陣列具有行,每行是在索引中。
+0
如果我們使用返回鍵換行,我們可以使用這個。但是我想逐行閱讀而不必輸入回車鍵。 – hmlasnk
5
你可以使用textview的佈局管理器來獲取這些。但是,可以從iOS版7.您可以使用佈局管理器的方法 - (enumerateLineFragmentsForGlyphRange:usingBlock:)
下面的代碼打印如圖所示的結果
textView.text [email protected]"abcdsakabsbdkjflk sadjlkasjdlk asjkdasdklj asdpaandjs bajkhdb hasdskjbnas kdbnkja sbnkasj dbkjasd kjk aj";
NSLog(@"%d",_textView.text.length); // length here is 104.
[_textView.layoutManager enumerateLineFragmentsForGlyphRange:NSMakeRange(0, 104) usingBlock:^(CGRect rect, CGRect usedRect, NSTextContainer *textContainer, NSRange glyphRange, BOOL *stop) {
NSLog(@"rect %@ - usedRect %@ - glymph Rangle %d %d -",NSStringFromCGRect(rect),NSStringFromCGRect(usedRect),glyphRange.location,glyphRange.length);
}]
;
打印結果
2013-12-17 12:48:40.250 testEmpty[675:a0b] rect {{0, 0}, {200, 13.8}} - usedRect {{0, 0}, {176.08398, 13.8}} - glymph Rangle 0 31 -
2013-12-17 12:48:40.251 testEmpty[675:a0b] rect {{0, 13.8}, {200, 13.8}} - usedRect {{0, 13.8}, {182.11328, 13.8}} - glymph Rangle 31 31 -
2013-12-17 12:48:40.251 testEmpty[675:a0b] rect {{0, 27.6}, {200, 13.8}} - usedRect {{0, 27.6}, {168.75977, 13.8}} - glymph Rangle 62 28 -
2013-12-17 12:48:40.252 testEmpty[675:a0b] rect {{0, 41.400002}, {200, 13.8}} - usedRect {{0, 41.400002}, {82.035156, 13.8}} - glymph Rangle 90 14 -
因此,在塊的每次運行中,您將獲得glymphRange.length作爲該行中使用的字符串的長度。
相關問題
- 1. 如何逐行讀取文本文件?
- 2. 如何逐行讀取文本文件?
- 3. 用jQuery逐行讀取文本文件
- 4. 從文本文件逐行讀取C++
- 5. android - 從文本文件逐行讀取
- 6. 逐行讀取文本文件
- 7. 如何逐行讀取
- 8. 如何在html文本區域中逐行讀取文本?
- 9. 如何使用VoiceOver逐段讀取UITextView?
- 10. 如何逐行讀取大文件
- 11. 如何獲取文件逐行閱讀
- 12. 如何逐行讀取gzip文件?
- 13. 用bash腳本逐行讀取文件
- 14. 從shell腳本逐行讀取文件
- 15. 在textarea中逐行讀取文本
- 16. 逐行讀取文件
- 17. 逐行讀取文件
- 18. 逐行讀取.json文件
- 19. C++逐行讀取文件
- 20. 逐行讀取文件
- 21. 逐行讀取csv文件
- 22. 逐行讀取文件,逐字符C
- 23. 如何在WP7 APP中逐行讀取文本文件?
- 24. 如何從vb 6中逐行讀取文本文件內容?
- 25. 如何讓文本文件逐行讀取?
- 26. 如何在Verilog中逐行讀取文本文件?
- 27. 如何從FTP服務器上逐行讀取文本文件?
- 28. 讀取文本文件逐行讀取不工作
- 29. golang逐行讀取
- 30. Perl逐行讀取
如果行之間用「\ n」分隔,那麼你可以關注@ Mr_bem的代碼,如果沒有,並且你正在iOS7上工作,那麼你可以嘗試-santhu建議。如果不是這樣的話,那麼你無法以百分之百的準確度閱讀每行中的文字,相信我我已經嘗試了所有的方法。如果你能說出你想達到的目標,我可以提出一些建議。 –