在iOS 6目标(模拟器或实际设备)上运行此应用程序时,按下取消按钮会按预期工作,这意味着搜索栏将被移除,按下清除按钮(小灰色x)将清除用户已输入的所有搜索条件。但是,当在iOS 7目标上运行该项目时,清除和取消按钮都无法正常工作。
在此项目中实现了searchBarCancelButtonClicked方法,并且我已经验证了在运行iOS 7的目标时未调用该方法。
- (void)searchBarCancelButtonClicked:(UISearchBar *)SearchBar
{
NSLog(@"searchBarCancelButtonClicked called");
self.searchBar.text = nil;
…
// Hide Search bar when cancelled
[self hideSeachBar];
[self.searchBar resignFirstResponder];
…
}
我的表视图控制器被设置为UISearchDisplayDelegate和UISearchBarDelegate。而且似乎这仍然有效,因为在iOS 6或7目标上调用searchBar:textDidChange:
@interface ItemViewController () <UISearchDisplayDelegate, UISearchBarDelegate>
…
@end
我找不到其他与此相关的帖子或任何关于iOS 7变更的材料(如https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/TransitionGuide/Bars.html#//apple_ref/doc/uid/TP40013174-CH8-SW1),提到需要进行任何重新编码以支持iOS7。
您对此有什么想法吗?谢谢