2011-06-26 16 views

回答

6

在基於文本視圖向前搜索,可以使用下面的代碼片段 -

NSRange textRange; 
NSRange searchRange = NSMakeRange(0, [textView.text length]); 

textRange = [textView.text rangeOfString:searchString 
           options:NSCaseInsensitiveSearch 
            range:searchRange]; 

if (textRange.location == NSNotFound) { 
    // Not there 
} else { 
    textView.selectedRange = textRange; 
    [textView scrollRangeToVisible:textRange]; 
} 

基本上,我們使用NSString小號rangeOfString:options:range:方法查找的文本,然後使用selectedRange突出顯示文本和使用scrollRangeToVisible:可見。

現在,一旦找到您可以通過修改搜索範圍找到下一個事件。

if (textRange.location + textRange.length <= [textView.text length]) { 
    searchRange.location = textRange.location + textRange.length; 
    searchRange.length = [textView.text length] - searchRange.location; 

    textRange = [textView.text rangeOfString:searchString 
            options:NSCaseInsensitiveSearch 
             range:searchRange]; 

    /* Validate search result & highlight the text */ 
} else { 
    // No more text to search. 
} 

您還可以通過聲明

searchRange = NSMakeRange(0, textRange.location); 

然後在options通過(NSCaseInsensitiveSearch|NSBackwardsSearch)向後搜索。

+0

謝謝,我回家後會試試 – BRIT