RAHomeHeaderView.m 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. //
  2. // RAHomeHeaderView.m
  3. // Apex And Drivers
  4. //
  5. // Created by Jack on 2018/9/10.
  6. // Copyright © 2018年 USAI. All rights reserved.
  7. //
  8. #import "RAHomeHeaderView.h"
  9. @interface RAHomeHeaderView ()
  10. {
  11. CAGradientLayer *_gradientLayer;
  12. }
  13. @property (nonatomic,strong) IBOutlet UILabel *NewCountLabel;
  14. @property (nonatomic,strong) IBOutlet UILabel *ProcessingCountLabel;
  15. @property (nonatomic,strong) IBOutlet UILabel *FinishCountLabel;
  16. @property (nonatomic,strong) IBOutlet UIView *backgroundView;
  17. @property (nonatomic,strong) IBOutlet UIButton *signoutBtn;
  18. @property (nonatomic,strong) IBOutlet UIButton *settingBtn;
  19. @property (nonatomic,strong) IBOutlet UIButton *availableBtn;
  20. @property (nonatomic,strong) IBOutlet UILabel *availableTitleLabel;
  21. @property (nonatomic,strong) IBOutlet UIButton *messageBtn;
  22. @property (nonatomic,strong) IBOutlet UIImageView *messageNewFlagView;
  23. @end
  24. @implementation RAHomeHeaderView
  25. + (instancetype)homeHeader {
  26. return [[[NSBundle mainBundle] loadNibNamed:@"HomeHeader" owner:nil options:nil] objectAtIndex:1];
  27. }
  28. - (void)awakeFromNib {
  29. [super awakeFromNib];
  30. self.NewOrderCount = self.ProcessingOrderCount = self.FinishOrderCount = 0;
  31. self.availabel = self.existNewMessage = NO;
  32. _gradientLayer = [CAGradientLayer layer];
  33. UIColor *orangeWhiteColor = ApexDriverOrangeWhiteColor;
  34. UIColor *orangeColor = ApexDriverOrangeColor;
  35. _gradientLayer.colors = @[(__bridge id)orangeColor.CGColor, (__bridge id)orangeWhiteColor.CGColor];
  36. _gradientLayer.startPoint = CGPointMake(0, 0);
  37. _gradientLayer.endPoint = CGPointMake(1, 0);
  38. // _gradientLayer.locations = @[@0,@0.7,@0.95];
  39. _gradientLayer.frame = self.backgroundView.bounds;
  40. [self.backgroundView.layer addSublayer:_gradientLayer];
  41. }
  42. - (void)layoutSubviews {
  43. [super layoutSubviews];
  44. _gradientLayer.frame = self.backgroundView.bounds;
  45. }
  46. - (void)setNewOrderCount:(NSInteger)NewOrderCount {
  47. _NewOrderCount = NewOrderCount;
  48. self.NewCountLabel.text = [self _textFromCount:_NewOrderCount];
  49. }
  50. - (void)setProcessingOrderCount:(NSInteger)ProcessingOrderCount {
  51. _ProcessingOrderCount = ProcessingOrderCount;
  52. self.ProcessingCountLabel.text = [self _textFromCount:_ProcessingOrderCount];
  53. }
  54. - (void)setFinishOrderCount:(NSInteger)FinishOrderCount {
  55. _FinishOrderCount = FinishOrderCount;
  56. self.FinishCountLabel.text = [self _textFromCount:_FinishOrderCount];
  57. }
  58. - (NSString *)_textFromCount:(NSInteger)count {
  59. NSString *str = nil;
  60. if (count >= 0) {
  61. str = [NSString stringWithFormat:@"%lu",count];
  62. }
  63. return str;
  64. }
  65. - (void)setAvailabel:(BOOL)availabel {
  66. _availabel = availabel;
  67. self.availableBtn.selected = !_availabel;
  68. self.availableTitleLabel.text = _availabel ? @"Available" : @"Unavailable";
  69. }
  70. - (void)setExistNewMessage:(BOOL)existNewMessage {
  71. _existNewMessage = existNewMessage;
  72. self.messageBtn.selected = _existNewMessage;
  73. self.messageNewFlagView.hidden = !_existNewMessage;
  74. }
  75. #pragma mark - Action
  76. - (IBAction)signoutBtnClick:(id)sender {
  77. if (self.delegate && [self.delegate respondsToSelector:@selector(signoutClick:)]) {
  78. [self.delegate signoutClick:sender];
  79. }
  80. }
  81. - (IBAction)settingBtnClick:(id)sender {
  82. if (self.delegate && [self.delegate respondsToSelector:@selector(settingClick:)]) {
  83. [self.delegate settingClick:sender];
  84. }
  85. }
  86. - (IBAction)availableBtnClick:(id)sender {
  87. if (self.delegate && [self.delegate respondsToSelector:@selector(availableClick:)]) {
  88. [self.delegate availableClick:sender];
  89. }
  90. }
  91. - (IBAction)messageBtnClick:(id)sender {
  92. if (self.delegate && [self.delegate respondsToSelector:@selector(messageClick:)]) {
  93. [self.delegate messageClick:sender];
  94. }
  95. }
  96. @end