MOHomeHeaderView.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. //
  2. // MOHomeHeaderView.m
  3. // MiMoLive
  4. //
  5. // Created by MiMo on 2025/5/28.
  6. //
  7. #import "MOHomeHeaderView.h"
  8. @interface MOHomeHeaderView ()
  9. @property (nonatomic, strong) UIImageView *logoImgView;
  10. @property (nonatomic, strong) UIButton *historyButton;
  11. @property (nonatomic, strong) UIButton *searchButton;
  12. @end
  13. @implementation MOHomeHeaderView
  14. - (instancetype)init {
  15. if (self = [super init]) {
  16. [self setupUI];
  17. }
  18. return self;
  19. }
  20. - (void)historyButtonAction {
  21. if (self.historyActionBlock) {
  22. self.historyActionBlock();
  23. }
  24. }
  25. - (void)searchButtonAction {
  26. if (self.searchActionBlock) {
  27. self.searchActionBlock();
  28. }
  29. }
  30. - (void)setupUI {
  31. [self addSubview:self.logoImgView];
  32. [self.logoImgView mas_makeConstraints:^(MASConstraintMaker *make) {
  33. make.left.mas_equalTo(9);
  34. make.centerY.mas_equalTo(0);
  35. make.size.mas_equalTo(CGSizeMake(75, 40));
  36. }];
  37. [self addSubview:self.historyButton];
  38. [self.historyButton mas_makeConstraints:^(MASConstraintMaker *make) {
  39. make.right.mas_equalTo(-12);
  40. make.centerY.mas_equalTo(0);
  41. make.size.mas_equalTo(CGSizeMake(43, 36));
  42. }];
  43. CGFloat titleWidth = [MOTools getWidthWithString:self.searchButton.currentTitle font:self.searchButton.titleLabel.font];
  44. [self addSubview:self.searchButton];
  45. [self.searchButton mas_makeConstraints:^(MASConstraintMaker *make) {
  46. make.right.mas_equalTo(-61);
  47. make.centerY.mas_equalTo(0);
  48. make.height.mas_equalTo(36);
  49. make.width.mas_equalTo(titleWidth + 54);
  50. }];
  51. }
  52. - (UIImageView *)logoImgView {
  53. if (!_logoImgView) {
  54. _logoImgView = [[UIImageView alloc] init];
  55. _logoImgView.image = [UIImage imageNamed:@"icon_home_logo"];
  56. }
  57. return _logoImgView;
  58. }
  59. - (UIButton *)historyButton {
  60. if (!_historyButton) {
  61. _historyButton = [[UIButton alloc] init];
  62. [_historyButton setBackgroundImage:[UIImage imageNamed:@"img_home_history_bg"] forState:UIControlStateNormal];
  63. [_historyButton setImage:[UIImage imageNamed:@"icon_home_history"] forState:UIControlStateNormal];
  64. [_historyButton addTarget:self action:@selector(historyButtonAction) forControlEvents:UIControlEventTouchUpInside];
  65. }
  66. return _historyButton;
  67. }
  68. - (UIButton *)searchButton {
  69. if (!_searchButton) {
  70. _searchButton = [[UIButton alloc] init];
  71. [_searchButton setBackgroundImage:[[UIImage imageNamed:@"img_home_search_bg"] resizeImageByCenter] forState:UIControlStateNormal];
  72. [_searchButton setImage:[UIImage imageNamed:@"icon_home_search"] forState:UIControlStateNormal];
  73. [_searchButton setTitle:NSLocalString(@"mimo_homePage_search_title") forState:UIControlStateNormal];
  74. [_searchButton setTitleColor:[MOTools colorWithHexString:@"#FFFFFF" alpha:0.6] forState:UIControlStateNormal];
  75. _searchButton.titleLabel.font = [MOTextTools regularFont:12];
  76. [_searchButton addTarget:self action:@selector(searchButtonAction) forControlEvents:UIControlEventTouchUpInside];
  77. }
  78. return _searchButton;
  79. }
  80. @end