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. @end
  23. @implementation RAHomeHeaderView
  24. + (instancetype)homeHeader {
  25. return [[[NSBundle mainBundle] loadNibNamed:@"HomeHeader" owner:nil options:nil] objectAtIndex:1];
  26. }
  27. - (void)awakeFromNib {
  28. [super awakeFromNib];
  29. self.NewOrderCount = self.ProcessingOrderCount = self.FinishOrderCount = 0;
  30. self.availabel = self.existNewMessage = NO;
  31. // self.backgroundView.backgroundColor = ApexDriverOrangeColor;
  32. _gradientLayer = [CAGradientLayer layer];
  33. UIColor *orangeWhiteColor = ApexDriverOrangeWhiteColor;
  34. UIColor *orangeColor = ApexDriverOrangeColor;
  35. // _gradientLayer.colors = @[(__bridge id)orangeWhiteColor.CGColor, (__bridge id)orangeColor.CGColor];
  36. _gradientLayer.colors = @[(__bridge id)orangeColor.CGColor, (__bridge id)orangeWhiteColor.CGColor];
  37. _gradientLayer.startPoint = CGPointMake(0, 0);
  38. _gradientLayer.endPoint = CGPointMake(1, 0);
  39. // _gradientLayer.locations = @[@0,@0.2];
  40. _gradientLayer.frame = self.backgroundView.bounds;
  41. [self.backgroundView.layer addSublayer:_gradientLayer];
  42. }
  43. - (void)layoutSubviews {
  44. [super layoutSubviews];
  45. _gradientLayer.frame = self.backgroundView.bounds;
  46. }
  47. - (void)setNewOrderCount:(NSInteger)NewOrderCount {
  48. _NewOrderCount = NewOrderCount;
  49. self.NewCountLabel.text = [self _textFromCount:_NewOrderCount];
  50. }
  51. - (void)setProcessingOrderCount:(NSInteger)ProcessingOrderCount {
  52. _ProcessingOrderCount = ProcessingOrderCount;
  53. self.ProcessingCountLabel.text = [self _textFromCount:_ProcessingOrderCount];
  54. }
  55. - (void)setFinishOrderCount:(NSInteger)FinishOrderCount {
  56. _FinishOrderCount = FinishOrderCount;
  57. self.FinishCountLabel.text = [self _textFromCount:_FinishOrderCount];
  58. }
  59. - (NSString *)_textFromCount:(NSInteger)count {
  60. NSString *str = nil;
  61. if (count >= 0) {
  62. str = [NSString stringWithFormat:@"%lu",count];
  63. }
  64. return str;
  65. }
  66. - (void)setAvailabel:(BOOL)availabel {
  67. _availabel = availabel;
  68. self.availableBtn.selected = !_availabel;
  69. self.availableTitleLabel.text = _availabel ? @"Available" : @"Unavailable";
  70. }
  71. - (void)setExistNewMessage:(BOOL)existNewMessage {
  72. _existNewMessage = existNewMessage;
  73. self.messageBtn.selected = _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