我有一个UIViewController
是一个UISearchBarDelegate
和一个MKMapViewDelegate
。该searchBarSearchButtonClicked
事件工作正常,但在 iOS 4.2 中进行测试时,当点击取消按钮时,searchBarCancelButtonClicked 永远不会被调用。在 4.3 中一切正常。我有其他具有相同代码的视图,它工作正常。我已经三次检查了方法签名。
这可能与 MapView 有关,还是我做错了什么?
我的 .h 文件:
@interface MyViewController : UIViewController <UISearchBarDelegate,MKMapViewDelegate,UIAlertViewDelegate>{
MKMapView *mapMainView;
UISearchBar *sBar;
}
@property (nonatomic, retain) UISearchBar *sBar;
@end
我像这样创建搜索栏:
sBar = [[[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320.0, 70.0)] autorelease];
sBar.delegate = self;
sBar.showsCancelButton = YES;
[self.view addSubview:sBar];
[sBar becomeFirstResponder];
方法:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
searchBar.hidden = YES;
}
有谁知道为什么会发生这种情况?