苹果Airpods pro耳机怎么改名字,苹果Airodro耳机怎么改名字?下面请看小编的详细介绍吧!......
iOS UISearchBar简单使用与代理详解
UISearchBar代理方法的合理使用能够在很大一定程度上减少功能实现的复杂性,理解代理方法的具体响应时机和用法,能够让我们快速实现需求。
工具/原料
- Xcode
方法/步骤
一般SearchBar会设置成员变量或者声明属性方便进行全局访问,先定义一个
UISearchBar的属性,并且遵循UISearchBarDelegate的代理,如下:
在viewDidLoad加载时实例化UISearchBar,设置显示位置,代理以及相关的UI,如下:
self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 64, SCREEN_WIDTH , 40)];
self.searchBar.backgroundColor = [UIColor grayColor];
self.searchBar.placeholder = @"请输入搜索内容";
self.searchBar.delegate = self;
[self.view addSubview:self.searchBar];
UITextField *searchTextField = [self.searchBar valueForKey:@"_searchField"];
searchTextField.font = [UIFont systemFontOfSize:15];
一般搜索界面会在一进入界面之后就将键盘弹出,这样方便用户做搜索处理,可以在viewDidAppear方法中将定义的self.searchBar变为第一响应者,如下:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
[self.searchBar becomeFirstResponder];
}
UISearchBarDelegate下有相应的代理,在合适的代理方法里面可以实现我们大部分的需求定制化,代理为@optional可选,如下:
UISearchBarDelegate代理方法:
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
}
可以在我们改变搜索框内容的时候实时响应,在这里可以进行本地数据筛选或者网络数据请求筛选。
UISearchBarDelegate代理方法:
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
}
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar __TVOS_PROHIBITED
{
}
SearchButtonClicked与CancelButtonClicked分别代表点击搜索按钮和点击取消按钮时的响应,我们可以在这里进行键盘回收等需求操作。
UISearchBarDelegate代理方法:
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
return YES;
}
返回值设置为布尔值,当设置为NO的时候搜索框是无法进行编辑的,必须设置为YES才能响应键盘。
以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!
相关文章