有些需求非要把 UISearchBar 默認(rèn)的圓角矩形的圓角改大贰谣,頂端改成圓形的娜搂。雖然系統(tǒng)沒(méi)有提供這個(gè) API,不過(guò)還是有一個(gè)簡(jiǎn)單方法可以解決吱抚。
首先在 UIView 的 category 里加一個(gè)方法:
UIView+Utils.m
- (UIView*)subViewOfClassName:(NSString*)className {
for (UIView* subView in self.subviews) {
if ([NSStringFromClass(subView.class) isEqualToString:className]) {
return subView;
}
UIView* resultFound = [subView subViewOfClassName:className];
if (resultFound) {
return resultFound;
}
}
return nil;
}
用的時(shí)候:
UIView* backgroundView = [searchBar subViewOfClassName:@"_UISearchBarSearchFieldBackgroundView"];
backgroundView.layer.cornerRadius = 14.0f;
backgroundView.clipsToBounds = YES;
就可以改成圓形了百宇。效果:
用這個(gè)方法還可以改取消按鈕的顏色、字體什么的秘豹。