UISearchBar+RQExtension.m 1.9 KB

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