久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

ios - 如何在 UITextView 中找到可見的文本范圍?

ios - how to find what is the visible range of text in UITextView?(ios - 如何在 UITextView 中找到可見的文本范圍?)
本文介紹了ios - 如何在 UITextView 中找到可見的文本范圍?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

如何在可滾動、不可食用的 UITextView 中找到可見的文本?

how to find what text is visible in a scrollable, non-ediable UITextView?

例如我可能需要顯示下一段,然后我想找到當前可見的文本范圍并使用它來計算適當的范圍并使用 scrollRangeToVisible: 滾動文本視圖

for example i may need to show next paragraph, then i want to find the current visible text range and use it to calculate the appropriate range and use scrollRangeToVisible: to scroll the text view

推薦答案

我這樣做的方法是計算每個段落的所有大小.用 sizeWithFont:constrainedToSize:lineBreakMode:

The way i would do it is to compute all the sizes of each paragraph. With sizeWithFont:constrainedToSize:lineBreakMode:

然后,您將能夠從 [textView contentOffset] 確定哪個段落是可見的.

you will then be able to work out which paragraph is visible, from the [textView contentOffset].

要滾動,不要使用 scrollRangeToVisible,只需使用 setContentOffset:CGPoint y 參數應該是下一段的所有高度大小的總和,或者只是添加 textView.frame.size.height,如果是的話比下一段的開頭更接近.

to scroll, dont use scrollRangeToVisible, just use setContentOffset: The CGPoint y parameter for this should either be the sum of all the height sizes to the next paragraph, or just add the textView.frame.size.height, if that is closer than the beginning of the next paragraph.

這有意義嗎?

回答下面的評論請求代碼(未經測試):

in answer to comment requst code bellow (untested):

  CGFloat paragraphOffset[MAX_PARAGRAPHS];

    CGSize constraint = CGSizeMake(widthOfTextView, 999999 /*arbitrarily large number*/);
    NSInteger paragraphNo = 0;
    CGFloat offset = 0;

    for (NSString* paragraph in paragraphs) {
        paragraphOffset[paragraphNo++] = offset;
        CGSize paragraphSize = [paragraph sizeWithFont:textView.font constrainedToSize:constraint lineBreakMode:UILineBreakModeWordWrap];
        offset += paragraphSize.height;
    }   

    // find visible paragraph
    NSInteger visibleParagraph = 0;
    while (paragraphOffset[visibleParagraph++] < textView.contentOffset.y);


    // scroll to paragraph 6
    [textView setContentOffset:CGPointMake(0, paragraphOffset[6]) animated:YES];

這篇關于ios - 如何在 UITextView 中找到可見的文本范圍?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

iOS - Using storyboard and autolayout to center the UIScrollView(iOS - 使用故事板和自動布局使 UIScrollView 居中)
get index or tag value from imageview tap gesture(從 imageview 點擊手勢獲取索引或標簽值)
UIScrollView not scrolling regardless of large contentSize(無論內容大小如何,UIScrollView 都不會滾動)
Clean autorotation transitions in a paging UIScrollView(清除分頁 UIScrollView 中的自動旋轉轉換)
UIScrollView zooming with Auto Layout(UIScrollView 使用自動布局縮放)
How to create an image from a UIView / UIScrollView(如何從 UIView/UIScrollView 創建圖像)
主站蜘蛛池模板: 波多野结衣一区二区三区 | 日韩av电影院 | 欧洲亚洲精品久久久久 | 国产一二三区精品视频 | 久久国产视频网站 | 日韩在线免费观看视频 | 欧美久久久电影 | 中文字幕在线视频网站 | 免费久草 | 国产精品一区二区免费 | 国产成人福利视频 | 91伊人 | 日韩人体在线 | 欧美在线网站 | 亚洲综合色视频在线观看 | 亚洲精品一区中文字幕 | 久在线| 欧美8一10sex性hd | 久久99精品久久久久久国产越南 | 日韩av一区二区在线观看 | 国产一区久久 | 国产精品久久久亚洲 | 欧美日韩精品免费 | 日韩欧美三区 | 在线黄色网 | www.日日夜夜| 成人一区二 | 久久99精品久久久久久秒播九色 | 激情一区 | 国内精品久久影院 | 精久久久久 | 精品伊人久久 | 在线欧美亚洲 | 91精品久久久久久久久久小网站 | 日本免费一区二区三区 | 国产黄色一级电影 | 久久久女女女女999久久 | 一区二区三区免费 | 国产乱码精品一品二品 | 久久91av| 最近中文字幕第一页 |