2013-05-14 60 views
12

我在我的MKMapView上有一個UISearchBar,我將用它來搜索註釋。我無法使取消按鈕正常工作。我創建像這樣在我viewDidLoad方法搜索欄:UISearchBar取消按鈕不能正常工作

UISearchBar *searchBar = [[UISearchBar alloc] init]; 
    searchBar.frame = CGRectMake(0, 0, 320,44); 
    searchBar.showsBookmarkButton = NO; 
    searchBar.showsCancelButton = YES; 
    [self.view addSubview:searchBar]; 

而且我實現了這個方法取消按鈕:

- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar 
{ 
    [searchBar resignFirstResponder]; 
} 

我在做什麼錯?

回答

14

您還沒有分配搜索欄代表。

searchBar.delegate = self 
+0

謝謝!我不能相信我錯過了這一點。 – raginggoat 2013-05-14 14:29:12

2

請將代理設置爲self,因爲在我發佈的代碼中,因爲搜索欄無法找到通過其調用取消按鈕方法的代理。

searchBar.delegate=self; 

和.h文件中設定的委託作爲<UISearchBarDelegate>

希望這有助於。