利用UITextField自定义搜索栏,实现中文输入过程中字母的搜索功能
来源:互联网 发布:互动百科排名优化 编辑:程序博客网 时间:2024/06/05 19:22
当我们需要搜索功能时,我们首先想到的肯定是searchBar(当然我还只是个新手),但当我们需要在中文输入过程中搜索字母的时候时,searchBar就不好用了,只有当文字展示在searchBar上时,才会触发textDidChange的代理方法。
这时可以用UITextField自定义搜索栏,来实现我们的需求。
首先,先来实现searchBar成为第一响应者时搜索图标从中心移动到头部的动画:
self.searchBar.delegate = self; self.textField.delegate = self; self.textField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)]; self.textField.leftViewMode = UITextFieldViewModeAlways; [self.textField addSubview:self.imageView];
然后再重写imageView的get方法:
- (UIImageView *)imageView{ if (!_imageView) { _imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"search"]]; _imageView.bounds = CGRectMake(0, 0, 20, 20); _imageView.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2, 15); } return _imageView;}
这样我们textField的中心就会出现一个搜索图标了。
再在textField的代理方法中实现动画:
- (void)textFieldDidBeginEditing:(UITextField *)textField{ [UIView animateWithDuration:0.2 animations:^{ self.imageView.center = CGPointMake(15, 15); } completion:^(BOOL finished) { }];}- (void)textFieldDidEndEditing:(UITextField *)textField { if (textField.text.length == 0) { [UIView animateWithDuration:0.2 animations:^{ self.imageView.center = CGPointMake([[UIScreen mainScreen] bounds].size.width/2, 15); } completion:^(BOOL finished) { }]; }}
至此我们就完成了textField的动画,然后我们只需要再获取textField上的文字,再根据自己的需求实现就OK了。
我这里用的RAC实现的文字变化时的响应:
[self.textField.rac_textSignal subscribeNext:^(NSString *text) { //这里实现一些功能就OK了,比如我是改变label的text self.label.text = text; }];
本博客原创并仅作笔记,转载请注明出处。
1 0
- 利用UITextField自定义搜索栏,实现中文输入过程中字母的搜索功能
- 利用solr实现商品的搜索功能
- 实现可自定义的搜索功能
- 利用pingYin4j进行来中文和拼音的切换实现搜索功能的效率
- 中文字母简写搜索
- 搜索功能的实现
- Android开发中搜索功能的实现
- Android中ListView字母排序,实现字母挤压效果以及右侧快速选中字母,搜索关键字功能
- 实现搜索框输入时 提示相近词的功能
- Android实现文本框输入一定字数进行搜索的功能
- 面试:----利用solr实现商品的搜索功能
- angular利用$location实现搜索功能。
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音
- JMX -- JDMK实现HTML页面触发后台方法
- python和java中Des加密初试
- linux安装ftp
- C语言_函数_例子
- ubuntu文件传输,分布式系统搭建
- 利用UITextField自定义搜索栏,实现中文输入过程中字母的搜索功能
- iOS有三种多线程编程的技术
- Mac电脑下把自己的项目上传到Github
- 老友记——回味CSDN那些年的旧时光ME
- 【经典算法】:最长公共子序列(LCS问题,用遍历实现)
- 搜索技术地址
- C++primer plus第六版课后编程练习答案7.9
- git 错误操作回滚
- RedHat6.5 puppet配置(四)- 默认路径下的文件以及puppet命令解析