使用SearchDisplayController
并找不到任何可以实现此目的的方法?
答案 0 :(得分:4)
切换到编辑模式时尝试此操作:
self.searchDisplayController.searchBar.userInteractionEnabled = NO;
self.searchDisplayController.searchBar.alpha = .5;
反向:
self.searchDisplayController.searchBar.userInteractionEnabled = YES;
self.searchDisplayController.searchBar.alpha = 1.0;
您还可以为Alpha更改设置动画以获得额外信用:)
答案 1 :(得分:1)
查看UISearchDisplayDelegate
和UISearchBarDelegate
,了解搜索栏何时处于编辑模式。
以下是一些在searchBar上添加叠加层的代码,我已根据此example进行了改编,
在你的.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];
}
您可以调整Alpha值,直到它以您希望的方式显示。
希望这有帮助!