奇怪的UISearchBar在iPhone中取消按钮行为(在模拟器中正常工作)

时间:2011-01-18 09:32:34

标签: iphone objective-c uitableview uisearchbar uisearchbardelegate

我在UITableView中显示了一些列表。为了分类目的,我使用了UISearchBar。我得到了一些取消按钮的奇怪行为

重现的步骤

  1. 搜索内容
  2. 请注意,在您搜索时,会有一个“取消”按钮,可以摆脱屏幕键盘。
  3. 现在详细了解其中一个搜索结果
  4. 然后回去
  5. 搜索结果仍然存在,搜索栏在那里,但“取消”按钮丢失。
  6. 因此,如果不关闭应用程序并重新打开,就无法移除屏幕键盘。
  7. 但是这些情况只发生在iPhone而不是模拟器中。当我回到第一个屏幕时,我能够看到取消按钮。

    我使用过这些代表:

    - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
    {   
      searchBar.text = nil; 
      [searchBar resignFirstResponder];
      isSearch = NO;
    }
    
    - (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
    {  
      searchBar.showsScopeBar = NO;  
      [searchBar sizeToFit];  
      [searchBar setShowsCancelButton:NO animated:YES]; 
      return YES;   
    }  
    
    - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
    {  
      searchBar.showsScopeBar = YES;  
      [searchBar sizeToFit];  
      [searchBar setShowsCancelButton:YES animated:YES];  
      isSearch = YES;
      return YES;    
    }  
    

    请帮忙

1 个答案:

答案 0 :(得分:1)

试试这个post

我建议你使用UISearchDisplayController - 一个有用的tutorial