1

我正在尝试在我的项目中实现搜索栏。

我已经创建了 SearchBar 插座,设置了委托,但是当我按下任何键盘按钮时,该按钮的值不会出现在UISearchBar

谁能告诉我为什么?

  - (void)searchBarSearchButtonClicked:(UISearchBar *)aSearchBar {

     // When the search button is tapped, add the search term to recents and conduct the search.
     NSString *searchString = [aSearchBar text];
     NSLog(searchString);
 }
4

3 回答 3

1

也许你忘了实现这个方法:

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
    return YES;
}

通过返回 YES,您“说”您接受编辑。

编辑

你甚至不需要实现这个方法,默认情况下 UISearchBar 接受编辑。
不需要实现额外的方法。

可以肯定的是,我刚刚做了以下事情:

  • 在xib文件中拖了一个搜索栏;
  • 通过 xib 将委托绑定到我的视图控制器;
  • 实现了 searchBarSearchButtonClicked: 并在其上放置了一个断点。

完美运行。确保您以正确的方式完成所有工作。

于 2012-12-27T18:54:12.193 回答
0

我错过了 appDelegate ,applicationDidFinishLauching下面的代码

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
[self.window makeKeyAndVisible];

现在 SearchBar 工作正常!

于 2013-01-04T17:31:45.987 回答
0

我忘记了这个方法

-(BOOL) searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    return YES;
}
于 2012-12-27T19:04:45.417 回答