0

我想在没有情节提要的情况下将 UISearchBar 添加到我的视图控制器中,因此我以编程方式将其添加为子视图。我已经设置了委托,但我似乎无法通过单击搜索按钮来关闭键盘。

这是我的代码:

@interface ViewController : UIViewController <UISearchBarDelegate>
{
    IBOutlet UISearchBar* mySearchBar;
}
----
- (void)viewDidLoad
{
    [mySearchBar setDelegate: self];
    mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, self.navigationController.navigationBar.frame.origin.y, 320, 44)];
    [self.view addSubview:mySearchBar];
}

- (void)searchBarSearchButtonClicked:(UISearchBar *)mySearchBar
{
    [mySearchBar resignFirstResponder];
}

- (void)searchBarTextDidEndEditing:(UISearchBar *)mySearchBar
{
    [mySearchBar resignFirstResponder];
}
4

1 回答 1

0

您在分配搜索栏之前设置委托。之后尝试设置委托。

mySearchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, self.navigationController.navigationBar.frame.origin.y, 320, 44)];
[mySearchBar setDelegate: self];

首先检查是否调用了委托方法总是有帮助的。设置一个断点,看看:)

于 2013-06-12T10:28:41.933 回答