UITextField Chinese search, uitextfield
Import header files
# Import "ChineseInclude. h"
# Import "PinYinForObjc. h"
NSMutableArray * searchResults; // a variable array to add the searched data
Set Data Source
-(NSArray *) dataArray {if (! _ DataArray) {_ dataArray = @ [@ "Baidu", @ "Six", @ "google", @ "apple", @ "and", @ "table ", @ "view", @ "and", @ "and", @ "Apple IOS", @ "Google android", @ "Microsoft", @ "Microsoft WP ", @ "table", @ "Six", @ "table", @ "table ", @ "table"];} return _ dataArray ;}
Listen to textField
[_textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged];
Search when input
-(Void) textFieldEditChanged :( UITextField *) mySearchBar {searchResults = [[NSMutableArray alloc] init]; if (mySearchBar. text. length> 0 &&! [ChineseInclude isIncludeChineseInString: mySearchBar. text]) {for (int I = 0; I <self. dataArray. count; I ++) {if ([ChineseInclude isIncludeChineseInString: self. dataArray [I]) {NSString * tempPinYinStr = [PinYinForObjc chineseConvertToPinYin: self. dataArray [I]; nsange titleResult = [tempPinYinStr rangeOfString: mySearchBar. text options: NSCaseInsensitiveSearch]; if (titleResult. length> 0) {[searchResults addObject: self. dataArray [I];} // NSString * tempPinYinHeadStr = [PinYinForObjc chineseConvertToPinYinHead: self. dataArray [I]; // nsange titleHeadResult = [tempPinYinHeadStr rangeOfString: mySearchBar. text options: NSCaseInsensitiveSearch]; // if (titleHeadResult. length> 0) {// [searchResults addObject: self. dataArray [I]; //} else {nsange titleResult = [self. dataArray [I] rangeOfString: mySearchBar. text options: NSCaseInsensitiveSearch]; if (titleResult. length> 0) {[searchResults addObject: self. dataArray [I] ;}}} else if (mySearchBar. text. length> 0 & [ChineseInclude isIncludeChineseInString: mySearchBar. text]) {for (NSString * tempStr in self. dataArray) {nsange titleResult = [tempStr rangeOfString: mySearchBar. text options: NSCaseInsensitiveSearch]; if (titleResult. length> 0) {[searchResults addObject: tempStr] ;}} NSLog (@ "Search Result: % @", searchResults );
// Refresh here // [_ tableView reloadData];}
:
Demo download: http://pan.baidu.com/s/1bncyjZD