//懒加载,创建搜索结果控制器。当在搜索框里里输入内容时,显示搜索结果控制器。结束在搜索结果控制器输入内容时,隐藏搜索控制器,为了避免多次创建搜索结果控制器,使用懒加载。
- (MTCitySearchResultViewController *)citySearchResult
{
if (!_citySearchResult) {
MTCitySearchResultViewController *citySearchResult = [[MTCitySearchResultViewController alloc] init];
[self addChildViewController:citySearchResult];
self.citySearchResult = citySearchResult;
[self.view addSubview:self.citySearchResult.view];
//用第三方框架设置创建搜索结果控制器的view和父view的位置关系。
[self.citySearchResult.view autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero excludingEdge:ALEdgeTop];
[self.citySearchResult.view autoPinEdge:ALEdgeTop toEdge:ALEdgeBottom ofView:self.searchBar withOffset:15];
}
return _citySearchResult;
}
#pragma mark - 搜索框代理方法
/**
* 键盘弹出:搜索框开始编辑文字
*/
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
// 1.隐藏导航栏
[self.navigationController setNavigationBarHidden:YES animated:YES];
// 2.修改搜索框的背景图片
[searchBar setBackgroundImage:[UIImage imageNamed:@"bg_login_textfield_hl"]];
// 3.显示搜索框右边的取消按钮
[searchBar setShowsCancelButton:YES animated:YES];
// 4.显示遮盖
[UIView animateWithDuration:0.5 animations:^{
self.cover.alpha = 0.5;
}];
}
/**
* 键盘退下:搜索框结束编辑文字
*/
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
// 1.显示导航栏
[self.navigationController setNavigationBarHidden:NO animated:YES];
// 2.修改搜索框的背景图片
[searchBar setBackgroundImage:[UIImage imageNamed:@"bg_login_textfield"]];
// 3.隐藏搜索框右边的取消按钮
[searchBar setShowsCancelButton:NO animated:YES];
// 4.隐藏遮盖
[UIView animateWithDuration:0.5 animations:^{
self.cover.alpha = 0.0;
}];
// 5.移除搜索结果
self.citySearchResult.view.hidden = YES;
searchBar.text = nil;
}
/**
* 点击搜索框里的取消时调用
*/
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
}
/**
* 搜索框里面的文字变化的时候调用
*/
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
if (searchText.length) {
self.citySearchResult.view.hidden = NO;
self.citySearchResult.searchText = searchText;
} else {
self.citySearchResult.view.hidden = YES;
}
}
搜索
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 如果想构建一个图像搜索引擎,那如何对图像进行搜索呢?一种方式是依赖于与图像相关联的标签、关键字和文字描述,这种称为...
- 在手机弹出的软键盘中,回车键变为搜索键 1、修改EditText属性: 2、 点击时执行两次监听事件的问题:
- 文|孟永辉 除了小程序的应用不断开放之外,微信在今年的另外一个重要举动应该属于推出微信搜索了。对于熟悉了谷歌搜索和...
- 作者:玄魂工作室 EE 先声明一点,本文作者不是搜狗的 然后 只是从技术的角度探讨问题 目录 不明恶意攻击致<搜狗...