Проверьте UISearchDisplayDelegate
и UISearchBarDelegate
, чтобы узнать, когда панель поиска находится в режиме редактирования.
Вот некоторый код для добавления наложения на панель поиска, который я адаптировал из этого примера ,
В вашем файле .h,
@interface ...
{
UIView *disableViewOverlay;
...
}
@property(retain) UIView *disableViewOverlay;
А в файле .m
@synthesize disableViewOverlay;
...
-(void) disableSearchBar
{
self.disableViewOverlay = [[UIView alloc]
initWithFrame:CGRectMake(0.0f,0.0f,320.0f,44.0f)];
self.disableViewOverlay.backgroundColor=[UIColor blackColor];
self.disableViewOverlay.alpha = 0;
self.disableViewOverlay.alpha = 0;
[self.view addSubview:self.disableViewOverlay];
[UIView beginAnimations:@"FadeIn" context:nil];
[UIView setAnimationDuration:0.5];
self.disableViewOverlay.alpha = 0.4;
[UIView commitAnimations];
}
-(void) enableSearchBar
{
[disableViewOverlay removeFromSuperview];
[searchBar resignFirstResponder];
}
Вы можете корректировать альфа-значения, пока они не появятся так, как вы этого хотите.
Надеюсь, это поможет!