停止UISearchDisplayController以关闭搜索栏键盘

时间:2012-06-14 23:41:02

标签: iphone objective-c cocoa-touch uisearchbar uisearchdisplaycontroller

我有一个UISearchBar,我将它放在UISearchDisplayController中。现在,每当我点击键盘上的“搜索”按钮时,它就会关闭键盘。我正在实施以下方法,以便在点击“搜索”按钮时停止搜索,在这种情况下我也不想丢失键盘。有没有办法指示UISearchDisplayController不要在“搜索”按钮上点击键盘?

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar1 {
     if ([searchBar.text length] < 3){
          return;
     }
     else {
          // Do searching here or other stuffs
     }
}

1 个答案:

答案 0 :(得分:4)

//此方法返回NO以不辞职第一响应者

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar; 

因此,对于您的代码,它应该是这样的,以避免键盘不仅仅在搜索按钮上点击,而是在取消时忽略等。

- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar1 {
     isSearchTap = YES;
}

- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar {
   if(isSearchTap) {
    return NO;
   }
   return YES;
}