使用系統(tǒng)自帶的searchBar時(shí)遇到的問題:
1> 去掉自帶的背景顏色(灰框)


首先找到灰色控件,然后移除,根據(jù)上面的結(jié)構(gòu)圖可以看到灰色控件的位置:[[[mySearch.subviews objectAtIndex:0] subviews] objectAtIndex:0],然后進(jìn)行移除操作:[[[[mySearch.subviewsobjectAtIndex:0]subviews]objectAtIndex:0]removeFromSuperview];

看到灰色邊框確實(shí)已經(jīng)去掉了
2>有時(shí)候我們還需要去掉搜索框中自帶的白色背景

只需根據(jù)上面的步驟進(jìn)行移除操作就可以:[[[[[mySearch.subviewsobjectAtIndex:0]subviews]objectAtIndex:0].subviewsobjectAtIndex:0]removeFromSuperview];

注: 這兩步一定不能改變順序,否則會(huì)崩潰.
為了使程序不使程序崩潰, 建議使用以下代碼:
for(UIView*tempVin[[mySearch.subviewsobjectAtIndex:0]subviews]) {
? ? NSString*str =NSStringFromClass([tempVclass]);
? ? if([strisEqualToString:@"UISearchBarBackground"]) {
? ? ? ? //去掉背景顏色(灰色邊框)
? ? ? ? [tempVremoveFromSuperview];
? ? }else{
? ? ? ? //去掉白色背景
? ? ? ? [[[tempVsubviews]objectAtIndex:0]removeFromSuperview];
? ? }
}
項(xiàng)目地址: https://github.com/weijun8687/SearchBar