searchBarSearchButtonClicked没有开火

时间:2013-05-05 01:51:26

标签: uisearchbar uisearchbardelegate

我研究过这个问题。看起来这是一个常见的问题,但我尝试过的任何工作都没有。我对iPhone应用程序开发和Objective C都很陌生。此时我想要做的就是在搜索栏字段中输入一个字符串,并在点击键盘上的搜索按钮时返回NSLog()中的值。

我的头文件如下所示:

@interface ListingMapViewController : UIViewController <UISearchBarDelegate> 

@property (weak, nonatomic) IBOutlet UISearchBar *searchBar;

@end

我在我的班级文件中有这个:

#import "ListingMapViewController.h"

@interface ListingMapViewController ()


@end

@implementation ListingMapViewController


- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
searchBar.delegate =self;

[self handleSearch:searchBar];
NSLog(@"User searched for %@", searchBar.text);

}

@end

单击“搜索”按钮时,没有任何输出。我错过了什么?感谢。

1 个答案:

答案 0 :(得分:6)

(在问题编辑中回答。转换为社区维基回答。请参阅Question with no answers, but issue solved in the comments (or extended in chat)

OP写道:

  

通过在视图加载时设置searchBar委托来解决此问题。我想在searchBarSearchButtonClicked设置它太晚了。

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
[self.searchBar setDelegate:self];
 //self.searchBar.delegate = self; <-- also works
}
  

现在,当我单击键盘上的“搜索”按钮时,搜索栏字段中的文本将输出到NSLog()。欢呼!接下来的挑战。