美团HD(7)-添加取消搜索按钮
DJSelectCityViewController.m
#pragma mark - UISearchBar 代理方法 /** SearchBar开始编辑 */
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { // 隐藏导航栏
[self.navigationController setNavigationBarHidden:YES animated:YES];
// 显示遮罩
UIView *cover = [[UIView alloc] init];
cover.backgroundColor = [UIColor blackColor];
cover.alpha = 0.2;
cover.frame = self.cityTableView.frame;
cover.tag = DJCoverTag; // 由于UIView 不是UIControl,所以没有addTarget方法,可以使用UITapGestureRecognizer代替
// 当conver被点击时,移除第一响应者
[cover addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:searchBar action:@selector(resignFirstResponder)]];
[self.view addSubview:cover];
// 设置当前搜索框背景为高亮背景
[searchBar setBackgroundImage:[UIImage imageNamed:@"bg_login_textfield_hl"]];
// 显示取消按钮
[searchBar setShowsCancelButton:YES animated:YES]; } /** SearchBar结束编辑 */
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { // 显示导航栏
[self.navigationController setNavigationBarHidden:NO animated:YES];
// 隐藏遮罩
[[self.view viewWithTag:DJCoverTag] removeFromSuperview];
// 设置当前搜索框背景为普通背景
[searchBar setBackgroundImage:[UIImage imageNamed:@"bg_login_textfield"]];
// 隐藏取消按钮
[searchBar setShowsCancelButton:NO animated:YES]; } /** 当searchBar上面的取消按钮被点击时调用此方法 */
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
// 隐藏键盘
[searchBar resignFirstResponder];
// 清空输入内容
searchBar.text = @"";
} /** 当searchBar内的文字发生改变时调用此方法 */
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { UIView *cover = [self.view viewWithTag:DJCoverTag];
if (searchText.length) { // 当前输入内容不为空
if(cover.subviews.count <= ) {
cover.alpha = 1.0;
self.searchResultVC.view.frame = CGRectMake(, , cover.width, cover.height);
[cover addSubview:self.searchResultVC.view];
}
} else { // 当前输入内容为空
[self.searchResultVC.view removeFromSuperview];
cover.alpha = 0.2;
} }

美团HD(7)-添加取消搜索按钮的更多相关文章
- 美团HD(6)-添加搜索遮罩
DJSelectCityViewController.m /** SearchBar开始编辑 */ - (void)searchBarTextDidBeginEditing:(UISearchBar ...
- jquery weui日期选择控件添加取消按钮
如图: 上图是jQuery weui的时间选择控件,红框处本来应该有个“取消”按钮的,可惜偏偏没有,当用户不想选择的时候就不好处理,虽然插件提供了点击其他区域关闭的功能,但过于隐晦,不容易发现,因此本 ...
- 【代码笔记】iOS-点击搜索按钮,或放大镜后都会弹出搜索框
一, 效果图. 二,工程图. 三,代码. RootViewController.h #import <UIKit/UIKit.h> #import "CLHSearchBar.h ...
- 开发移动端web应用, 使用手机自带键盘的搜索按钮
很多时候在移动端的web页面中, 需要使用搜索功能, 然而页面中并没有太多的空间来放置一个像pc端上那样的搜索按钮, 这时候就需要借用手机输入法自带的搜索按钮来实现点击搜索 虽然不是什么大的功能, 但 ...
- 为jEasyUi的日期控件添加一个“清空”按钮----通过修改1.4的easyui.min.js
为 jQuery EasyUI 1.4 的datebox或datetimebox添加一个清空按钮 使用场景:为用户指定了日期的格式,且日期可以为空 修改语言包easyui-lang-zh_CN.js ...
- js 移动端写搜索时怎么调用软键盘上面的搜索按钮
这段时间一直在做移动端,所以遇到很多问题,现在很多网站在做移动端搜索的时候都不会在后面加一个搜索按钮,而是直接调用输入法上面的搜索搜索按钮进行搜索 input的一个新属性给我们提供非常方便的书写, 就 ...
- 判断ecshop未付款添加去付款按钮
判断ecshop未付款添加去付款按钮,打开ecshop模板目录下user_transaction.dwt找到{$item.handler} 这个变量 给它下面添加以下代码 {if $item.pay_ ...
- bootstrap制作搜索框及添加回车搜索事件
下面是开发中用bootstrap制作的一个搜索框,以及给搜索框添加回车搜索事件的一个小案例. bootstrap制作搜索框及添加回车搜索事件 下面是功能实现的代码: <!DOCTYPE html ...
- QTableView 一列添加两个按钮
在QTableView的一列里添加两个按钮,之前添加一个按钮的思路是一样的,只是计算了一下按钮的宽,放两个按钮而已. 添加一个按钮的例子:QTableView 添加按钮 本例源代码:QtTowButt ...
随机推荐
- [CF915F]Imbalance Value of a Tree
[CF915F]Imbalance Value of a Tree 题目大意: 一棵\(n(n\le10^6)\)个结点的树,每个结点有一个权值\(w_i\).定义\(I(i,j)\)为\(i\)到\ ...
- Xcode升级后导致插件不能用, 一句代码更新UUID OK~
find ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins -name Info.plist -maxdepth 3 | ...
- 【java】JDK1.8时间日期库 新特性 所有java中时间Date的使用
除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用java 8的这套API.Java对日期, ...
- IOS开发使用委托delegate在不同窗口之间传递数据
IOS开发使用委托delegate在不同窗口之间传递数据是本文要介绍的内容,主要是来讲解如何使用委托delegate在不同窗口之间传递数据,具体内容来看详细内容.在IOS开发里两个UIView窗口之间 ...
- CSS3: box-shadow 阴影
box-shadow是给元素块添加周边阴影效果 语法: 对象选择器 {box-shadow:X轴偏移量 Y轴偏移量阴影 模糊半径 阴影扩展半径 阴影颜色 [投影方式] } box-shadow: h- ...
- Ext js 应用例子
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- nagios监控redis
nagios是非常强大的监控工具,但是它本身没有监控redis的功能 但是网上有很多大神写了监控redis的插件,比较热门的使用perl写的check_redis.pl 但是由于我们监控mongodb ...
- javascript快速入门21--DOM总结
跨浏览器开发 市场上的浏览器种类多的不计其数,它们的解释引擎各不相同,期待所有浏览器都一致的支持JavaScript,CSS,DOM,那要等到不知什么时候,然而开发者不能干等着那天.历史上已经有不少方 ...
- 小二助手(react应用框架)-http访问
浏览地址http://118.25.217.253:4000 账号test密码123 qq讨论群:836719189 要写这个系统,就需要数据来源,让我们先来看看如果通过客户端调用服务端api拿到 ...
- 小二助手(react应用框架)-概述
时间想学习一个前端框架,原因是这样的,我本身是做游戏的,但是自己对前端web比较感兴趣. 然后我就选择自己学哪个框架,Angular.react.vue 最后选择了react,选择的理由就不说了 那做 ...