最近項目想在點擊searchBar時,默認彈出搜索歷史,而不是背景變黑的dimming效果。在網上查找了幾種方法,發現最好用的還是在keyboard彈出和隱藏時將searchDisplayController中得dimmingView背景色設置爲透明。以下爲代碼:
1、首先在controller load的時候添加對彈出和隱藏鍵盤事件的監聽:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillShowNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow) name:UIKeyboardWillHideNotification object:nil];
2、實現keyboardWillShow函數:
- (void) keyboardWillShow
{
for(UIView * v in searchDisplayController_.searchContentsController.view.subviews)
{
if([v isMemberOfClass:[UIControl class]])
{
v.backgroundColor = [UIColor clearColor];
}
}
}