HXSearchBar.m 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #import "HXSearchBar.h"
  2. @implementation HXSearchBar
  3. //设置输入框光标颜色
  4. - (void)setCursorColor:(UIColor *)cursorColor
  5. {
  6. if (cursorColor) {
  7. _cursorColor = cursorColor;
  8. //获取输入框
  9. UITextField *searchField = self.searchBarTextField;
  10. if (searchField) {
  11. //光标颜色
  12. [searchField setTintColor:cursorColor];
  13. }
  14. }
  15. }
  16. //获取输入框
  17. - (UITextField *)searchBarTextField
  18. {
  19. //获取输入框
  20. // _searchBarTextField = [self valueForKey:@"searchField"];
  21. if (@available(iOS 13.0,*)) {
  22. _searchBarTextField = self.searchTextField;
  23. }else {
  24. _searchBarTextField = [self valueForKey:@"_searchField"];
  25. }
  26. return _searchBarTextField;
  27. }
  28. //设置清除按钮图标
  29. - (void)setClearButtonImage:(UIImage *)clearButtonImage
  30. {
  31. if (clearButtonImage) {
  32. _clearButtonImage = clearButtonImage;
  33. //获取输入框
  34. UITextField *searchField = self.searchBarTextField;
  35. if (searchField) {
  36. //设置清除按钮图片
  37. UIButton *button = [searchField valueForKey:@"_clearButton"];
  38. [button setImage:clearButtonImage forState:UIControlStateNormal];
  39. searchField.clearButtonMode = UITextFieldViewModeWhileEditing;
  40. }
  41. }
  42. }
  43. - (void)setHideSearchBarBackgroundImage:(BOOL)hideSearchBarBackgroundImage {
  44. if (hideSearchBarBackgroundImage) {
  45. _hideSearchBarBackgroundImage = hideSearchBarBackgroundImage;
  46. self.backgroundImage = [[UIImage alloc] init];
  47. }
  48. }
  49. //获取取消按钮
  50. - (UIButton *)cancleButton
  51. {
  52. self.showsCancelButton = YES;
  53. for (UIView *view in [[self.subviews lastObject] subviews]) {
  54. if ([view isKindOfClass:[UIButton class]]) {
  55. _cancleButton = (UIButton *)view;
  56. }
  57. }
  58. return _cancleButton;
  59. }
  60. @end