// // UISearchBar+RQExtension.m // RQCommon // // Created by 张嵘 on 2018/11/23. // Copyright © 2018 张嵘. All rights reserved. // #import "UISearchBar+RQExtension.h" @implementation UISearchBar (RQExtension) + (void)load{ // 修改按钮标题文字属性( 颜色, 大小, 字体) if (@available(iOS 9.0, *)) { [[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]] setTitleTextAttributes:@{NSForegroundColorAttributeName: RQ_MAIN_TINTCOLOR, NSFontAttributeName: [UIFont systemFontOfSize:16]} forState:UIControlStateNormal]; // 将searchBar的cancel按钮改成中文的 [[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UISearchBar class]]] setTitle:@"取消"]; } else { // Fallback on earlier versions #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wdeprecated-declarations" //这里写出现警告的代码就能实现去除警告 // 将searchBar的cancel按钮改成中文的 [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil] setTitle:@"取消"]; #pragma clang diagnostic pop } } - (void)rq_configureSearchBar{ self.searchBarStyle = UISearchBarStyleProminent; self.barStyle = UIBarStyleDefault; self.barTintColor = RQ_MAIN_BACKGROUNDCOLOR; self.tintColor = RQ_MAIN_TINTCOLOR; /// 去掉SearchBar的上下的黑色细线 UIImageView *view = [[[self.subviews objectAtIndex:0] subviews] firstObject]; view.layer.borderColor = RQColorFromHexString(@"#DFDFDD").CGColor; view.layer.borderWidth = 1; self.backgroundImage = RQImageNamed(@"widget_searchbar_cell_bg_5x44"); [self setSearchFieldBackgroundImage:RQImageNamed(@"widget_searchbar_textfield_17x28") forState:UIControlStateNormal]; [self setImage:RQImageNamed(@"SearchContactsBarIcon_20x20") forSearchBarIcon:UISearchBarIconSearch state:UIControlStateNormal]; self.searchTextPositionAdjustment = UIOffsetMake(5, 0); self.placeholder = @"搜索"; } @end