У меня есть UIViewController
, который является UISearchBarDelegate
и a MKMapViewDelegate
. Событие searchBarSearchButtonClicked
отлично работает, но при тестировании в iOS 4.2 поискBarCancelButtonClicked никогда не вызывается при нажатии кнопки отмены. В 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;
}
Есть ли у кого-нибудь представление о том, почему это может происходить?