我正在调试我的代码,searchBarTextDidBeginEditing:
每次点击搜索栏(位于导航栏中)时,都会调用 UISearchBar 的委托方法两次。
奇怪的是,只有这个委托方法被调用了两次。其他的在整个过程中只被调用一次,这是正确的行为。
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
// called only once
return YES;
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
// called twice every time
[searchBar setShowsCancelButton:YES animated:YES];
}
- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
// called only once
[searchBar setShowsCancelButton:NO animated:YES];
return YES;
}
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
// called only once
}
知道有什么问题吗?
UISeachrBar 在 Storyboard 中设置,具有正确连接的插座,尽管它没有添加到任何视图中,并且在特定视图控制器viewDidLoad
中是以下行,将搜索栏添加到导航栏:
self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
我正在使用 Xcode 5.0.1 并在 iOS 7.0.3 模拟器中运行代码。