Делегат UISearchBar не отвечает на кнопку отмены

У меня есть UIViewController , это UISearchBarDelegate и [11100903eleg] MKMateleg] . Событие 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;
}

Кто-нибудь знает, почему это может происходить?

14
задан Deepesh 16 July 2012 в 03:34
поделиться