开发者

Advance search implementation in iphone?

I want to implement advance search functionality so that if a particular text is typed in search bar, the list of contents in UITablevi开发者_StackOverflowew should be filtered based on the search and then the search text occurances should be highlighted? Please give me some ideas?


Use NSAttributedString... Find UIControllers that draw NSAttribute String because UILabel,UITextView doesnot support NSAttributedString...

Get the controller here: https://github.com/AliSoftware/Ali-Cocoa-Classes/tree/master/OHAttributedLabel

PS: if you plan to distribute an iOS6-only application, as UILabel now support NSAttributedString, you should use UILabel directly instead of OHAttributedLabel as it is now natively supported by the OS.


I haven't tried something like this myself but my approach would be as follows:

  1. Implement the method textField:shouldChangeCharactersInRange:replacementString: in your UITextFieldDelegate object. This method will get called for every character that is entered or deleted from your textField.

  2. In the above delegate method, based on the current text content in the TextField, perform your search and return a list(array) of results.

  3. Take the array and for each result construct a custom UITableViewCell. This cell should have a UIWebView whose text is an excerpt of your search result.

  4. For the highlighting, you need to perform a search-replace in the text you are about to render in the WebView to find the search string, say foo for example, and replace it with <b>foo</b> or any other HTML formatting you may wish to apply. You can use the standard NSString API - (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement to do the find-replace.

Hope this helps.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜