怎么在UISearchBar中添加按钮

2025-05-14 23:53:28
推荐回答(1个)
回答1:

  UISearchBar使用

  01./*取消按钮*/
  02.- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{
  03. [self doSearch:searchBar];
  04.}
  05.
  06./*键盘搜索按钮*/
  07.- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
  08. [searchBar resignFirstResponder];
  09. [self doSearch:searchBar];
  10.}
  11.
  12./*搜索*/
  13.- (void)doSearch:(UISearchBar *)searchBar{
  14. ...
  15.}
  UISearchBar上按钮的默认文字为Cancel,如果想改为其他文字请调用一下代码

  01.for(id cc in [searchtext subviews]){
  02. if([cc isKindOfClass:[UIButton class]]){
  03. UIButton *btn = (UIButton *)cc;
  04. [btn setTitle:@"取消" forState:UIControlStateNormal];
  05. }
  06.}

  怎么设置searchBar下面的范围选择框

  searchBar的范围控件叫Scope Buttons。

  self.searchBar.showsScopeBar = YES;

  然而单单设了这个属性是没有用滴,要给他们安排按钮。比如说,这样:self.searchBar.scopeButtonTitles = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];

  还有一个很重要的事情,设了按钮就要给他们安排功能。所以说,我们要实现这个代理UISearchBarDelegate里的这个方法searchBar:selectedScopeButtonIndexDidChange:。告诉表格,你选择的范围是啥。

  还有要是设置默认选择哪个按钮的话,要设置这个属性,像这样就是默认选中第1个啦。
  self.searchBar.selectedScopeButtonIndex = 0;