博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UITextField中文搜索
阅读量:5982 次
发布时间:2019-06-20

本文共 2074 字,大约阅读时间需要 6 分钟。

导入头文件

#import "ChineseInclude.h"

#import "PinYinForObjc.h"

NSMutableArray *searchResults;//可变数组,添加搜索到的数据

设置数据源

- (NSArray *)dataArray {    if (!_dataArray) {        _dataArray = @[@"百度",@"六六",@"谷歌",@"苹果",@"and",@"table",@"view",@"and",@"and",@"苹果IOS",@"谷歌android",@"微软",@"微软WP",@"table",@"table",@"table",@"六六",@"六六",@"六六",@"table",@"table",@"table"];    }    return _dataArray;}

监听textField

[_textField addTarget:self action:@selector(textFieldEditChanged:) forControlEvents:UIControlEventEditingChanged];

当输入的时候进行搜索

- (void)textFieldEditChanged:(UITextField *)mySearchBar{    searchResults = [[NSMutableArray alloc]init];    if (mySearchBar.text.length>0&&![ChineseInclude isIncludeChineseInString:mySearchBar.text]) {        for (int i=0; i
0) { [searchResults addObject:self.dataArray[i]]; } // NSString *tempPinYinHeadStr = [PinYinForObjc chineseConvertToPinYinHead:self.dataArray[i]];// NSRange titleHeadResult=[tempPinYinHeadStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];// if (titleHeadResult.length>0) {// [searchResults addObject:self.dataArray[i]];// } } else { NSRange 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) { NSRange titleResult=[tempStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch]; if (titleResult.length>0) { [searchResults addObject:tempStr]; } } } NSLog(@"搜索结果:%@",searchResults);     //在这里刷新   // [_tableView reloadData];}

效果图:

Demo下载链接:http://pan.baidu.com/s/1bncyjZD

 

转载于:https://www.cnblogs.com/hxwj/p/4539245.html

你可能感兴趣的文章
awk
查看>>
android 手机上设置呼叫转移
查看>>
LeetCode 1.两数之和
查看>>
Shell脚本注意点
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
快速开发平台 WebBuilder 8.4 发布
查看>>
官宣:深度剖析免费OA系统是如何盈利
查看>>
Hyper-V 3.0功能部署PART 6:启用虚拟机复制
查看>>
vue2.0学习笔记(一)搭建学习环境
查看>>
从系统到web一层一层分析系统变卡的原因
查看>>
数据库热备产品都有哪些?各有什么优缺点?
查看>>
生成树协议(STP)
查看>>
hibernate动态表名映射
查看>>
【Camera】拍照(2)
查看>>
我的友情链接
查看>>
点击按钮弹出悬浮窗口的小例子
查看>>
spring boot 解决后台返回 json 到前台中文乱码之后出现返回json数据报错 500
查看>>
java命令的cp参数
查看>>
三、jQuery选择器
查看>>