当我按下键盘按钮时,SearchBar不起作用

时间:2012-12-27 18:33:13

标签: objective-c ios

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

我已经创建了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);
 }

3 个答案:

答案 0 :(得分:1)

也许您忘了实施此方法:

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

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

编辑

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

确定我刚刚做了以下事情:

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

完美无瑕。确保您以正确的方式完成了所有工作。

答案 1 :(得分:0)

我忘了这个方法

-(BOOL) searchBar:(UISearchBar *)searchBar shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
    return YES;
}

答案 2 :(得分:0)

我在appDelegate错过了以下代码, applicationDidFinishLauching

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

现在SearchBar工作正常!