前言
在我們日常開發中,經常會遇到一些需求非要把 UISearchBar 默認的圓角矩形的圓角改大,頂端改成圓形的。雖然系統沒有提供這個 API,不過還是有一個簡單方法可以解決。
解決方法:
首先在 UIView 的 category 裡加一個方法:
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; }
用的時候:
UIView* backgroundView = [searchBar subViewOfClassName:@"_UISearchBarSearchFieldBackgroundView"]; backgroundView.layer.cornerRadius = 14.0f; backgroundView.clipsToBounds = YES;
就可以改成圓形了。效果:
圓形的 UISearchBar
用這個方法還可以改取消按鈕的顏色、字體什麼的。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對本站的支持。