【问题标题】:Stopping UISearchDisplayController to dismiss the searchbar keyboard停止 UISearchDisplayController 以关闭搜索栏键盘
【发布时间】:2012-06-14 23:41:02
【问题描述】:

我有一个 UISearchBar,我将其放入 UISearchDisplayController。现在,每当我点击键盘上的“搜索”按钮时,它都会关闭键盘。我正在实施以下方法以在点击“搜索”按钮时停止搜索,在这种情况下我也不想松开键盘。有什么方法可以指示 UISearchDisplayController 在点击“搜索”按钮时不要关闭键盘?

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 这里有个小问题。我认为您需要在searchBarShouldEndEditing 中将isSearchTap 设置为NO。否则,您将永远无法停止编辑搜索栏。
    猜你喜欢
    • 2013-12-03
    • 1970-01-01
    • 2014-09-23
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2017-10-25
    相关资源
    最近更新 更多