TCBottomTabBar.m 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. //
  2. // TCBottomTabBar.m
  3. // DeviceManageIOSApp
  4. //
  5. // Created by rushanting on 2017/5/11.
  6. // Copyright © 2017年 tencent. All rights reserved.
  7. //
  8. #import "TCBottomTabBar.h"
  9. #import "ColorMacro.h"
  10. //#import "UIView+AdditionsX12.h"
  11. #define kButtonCount 3 //6
  12. #define kButtonNormalColor UIColorFromRGB(0x181818);
  13. @implementation TCBottomTabBar
  14. {
  15. UIButton* _btnFilter;
  16. UIButton* _btnMusic;
  17. UIButton* _btnText;
  18. UIButton* _btnCut;
  19. UILabel* _btnCLL; //按钮左边线
  20. UIButton* _btnTime; //时间特效
  21. UILabel* _btnTLL; //按钮左边线
  22. UIButton* _btnEffect; //特效
  23. UILabel* _btnELL; //按钮左边线
  24. UIView* _x_bot_bg; //补充背景
  25. }
  26. - (id)initWithFrame:(CGRect)frame
  27. {
  28. if (self = [super initWithFrame:frame]) {
  29. _btnCut = [[UIButton alloc] init];
  30. //_btnCut.backgroundColor = kButtonNormalColor;
  31. //[_btnCut setImage:[UIImage imageNamed:@"cut_nor"] forState:UIControlStateNormal];
  32. //[_btnCut setImage:[UIImage imageNamed:@"cut_pressed"] forState:UIControlStateHighlighted];
  33. [_btnCut setTitle:YZMsg(@"剪裁") forState:0];
  34. [_btnCut setTitleColor:GrayText forState:0];
  35. [_btnCut setTitleColor:Pink_Cor forState:UIControlStateSelected];
  36. _btnCut.titleLabel.font = SYS_Font(16);
  37. [_btnCut addTarget:self action:@selector(onCutBtnClicked) forControlEvents:UIControlEventTouchUpInside];
  38. [self addSubview:_btnCut];
  39. _btnCLL = [[UILabel alloc]init];
  40. _btnCLL.backgroundColor = RGB_COLOR(@"#626262", 1);
  41. //[_btnCut addSubview:_btnCLL];
  42. _btnTime = [[UIButton alloc] init];
  43. //_btnCut.backgroundColor = kButtonNormalColor;
  44. //[_btnTime setImage:[UIImage imageNamed:@"time_press"] forState:UIControlStateNormal];
  45. //[_btnTime setImage:[UIImage imageNamed:@"time_press"] forState:UIControlStateHighlighted];
  46. [_btnTime setTitle:YZMsg(@"时间特效") forState:0];
  47. [_btnTime setTitleColor:GrayText forState:0];
  48. [_btnTime setTitleColor:Pink_Cor forState:UIControlStateSelected];
  49. _btnTime.titleLabel.font = SYS_Font(16);
  50. [_btnTime addTarget:self action:@selector(onTimeBtnClicked) forControlEvents:UIControlEventTouchUpInside];
  51. [self addSubview:_btnTime];
  52. _btnTLL = [[UILabel alloc]init];
  53. _btnTLL.backgroundColor = RGB_COLOR(@"#626262", 1);
  54. [_btnTime addSubview:_btnTLL];
  55. _btnEffect = [[UIButton alloc] init];
  56. //_btnMusic.backgroundColor = kButtonNormalColor;
  57. //[_btnEffect setImage:[UIImage imageNamed:@"music_pressed"] forState:UIControlStateNormal];
  58. //[_btnEffect setImage:[UIImage imageNamed:@"music_pressed"] forState:UIControlStateHighlighted];
  59. [_btnEffect setTitle:YZMsg(@"其他特效") forState:0];
  60. [_btnEffect setTitleColor:GrayText forState:0];
  61. [_btnEffect setTitleColor:Pink_Cor forState:UIControlStateSelected];
  62. _btnEffect.titleLabel.font = SYS_Font(16);
  63. [_btnEffect addTarget:self action:@selector(onEffectBtnClicked) forControlEvents:UIControlEventTouchUpInside];
  64. [self addSubview:_btnEffect];
  65. _btnELL = [[UILabel alloc]init];
  66. _btnELL.backgroundColor = RGB_COLOR(@"#626262", 1);
  67. [_btnEffect addSubview:_btnELL];
  68. //补充背景
  69. _x_bot_bg = [[UIView alloc]init];
  70. _x_bot_bg.backgroundColor = RGB_COLOR(@"#000000", 0.6);
  71. [self addSubview:_x_bot_bg];
  72. /*
  73. _btnFilter = [[UIButton alloc] init];
  74. //_btnFilter.backgroundColor = kButtonNormalColor;
  75. [_btnFilter setImage:[UIImage imageNamed:@"beautiful_nor"] forState:UIControlStateNormal];
  76. [_btnFilter setImage:[UIImage imageNamed:@"beautiful_pressed"] forState:UIControlStateNormal];
  77. [_btnFilter addTarget:self action:@selector(onFilterBtnClicked) forControlEvents:UIControlEventTouchUpInside];
  78. [self addSubview:_btnFilter];
  79. _btnMusic = [[UIButton alloc] init];
  80. //_btnMusic.backgroundColor = kButtonNormalColor;
  81. [_btnMusic setImage:[UIImage imageNamed:@"music_wihte"] forState:UIControlStateNormal];
  82. [_btnMusic setTintColor:[UIColor whiteColor]];
  83. [_btnMusic addTarget:self action:@selector(onMusicBtnClicked) forControlEvents:UIControlEventTouchUpInside];
  84. [self addSubview:_btnMusic];
  85. _btnText = [[UIButton alloc] init];
  86. //_btnText.backgroundColor = kButtonNormalColor;
  87. [_btnText setImage:[UIImage imageNamed:@"word"] forState:UIControlStateNormal];
  88. [_btnText addTarget:self action:@selector(onTextBtnClicked) forControlEvents:UIControlEventTouchUpInside];
  89. [self addSubview:_btnText];
  90. */
  91. [self onCutBtnClicked];
  92. }
  93. return self;
  94. }
  95. - (void)layoutSubviews
  96. {
  97. [super layoutSubviews];
  98. CGFloat buttonWidth= self.width / kButtonCount;
  99. _btnCut.frame = CGRectMake(0, 0, buttonWidth, self.height-ShowDiff);
  100. _btnCLL.frame = CGRectMake(0, 15, 1, self.height-30-ShowDiff);
  101. _btnTime.frame = CGRectMake(buttonWidth * 1, 0, buttonWidth, self.height-ShowDiff);
  102. _btnTLL.frame = CGRectMake(0, 15, 1, self.height-30-ShowDiff);
  103. _btnEffect.frame = CGRectMake(buttonWidth * 2, 0, buttonWidth, self.height-ShowDiff);
  104. _btnELL.frame = CGRectMake(0, 15, 1, self.height-30-ShowDiff);
  105. _x_bot_bg.frame = CGRectMake(0, self.height-ShowDiff, self.width, ShowDiff);
  106. /*
  107. _btnFilter.frame = CGRectMake(buttonWidth*3, 0,buttonWidth, self.height-ShowDiff);
  108. _btnMusic.frame = CGRectMake(buttonWidth * 4, 0, buttonWidth, self.height-ShowDiff);
  109. _btnText.frame = CGRectMake(buttonWidth * 5, 0, buttonWidth, self.height-ShowDiff);
  110. */
  111. }
  112. - (void)resetButtonNormal
  113. {
  114. _btnCut.selected = NO;
  115. _btnFilter.selected = NO;
  116. _btnMusic.selected = NO;
  117. _btnText.selected = NO;
  118. _btnEffect.selected = NO;
  119. _btnTime.selected = NO;
  120. [_btnCut setBackgroundImage:[UIImage imageNamed:@"button_gray"] forState:UIControlStateNormal];
  121. [_btnFilter setBackgroundImage:[UIImage imageNamed:@"button_gray"] forState:UIControlStateNormal];
  122. [_btnMusic setBackgroundImage:[UIImage imageNamed:@"button_gray"] forState:UIControlStateNormal];
  123. [_btnText setBackgroundImage:[UIImage imageNamed:@"button_gray"] forState:UIControlStateNormal];
  124. [_btnEffect setBackgroundImage:[UIImage imageNamed:@"button_gray"] forState:UIControlStateNormal];
  125. [_btnTime setBackgroundImage:[UIImage imageNamed:@"button_gray"] forState:UIControlStateNormal];
  126. }
  127. #pragma mark - click handle
  128. - (void)onCutBtnClicked
  129. {
  130. [self resetButtonNormal];
  131. _btnCut.selected = YES;
  132. [_btnCut setBackgroundImage:[UIImage imageNamed:@"tab"] forState:UIControlStateNormal];
  133. [self.delegate onCutBtnClicked];
  134. }
  135. - (void)onTimeBtnClicked
  136. {
  137. [self resetButtonNormal];
  138. _btnTime.selected = YES;
  139. [_btnTime setBackgroundImage:[UIImage imageNamed:@"tab"] forState:UIControlStateNormal];
  140. [self.delegate onTimeBtnClicked];
  141. }
  142. - (void)onEffectBtnClicked
  143. {
  144. [self resetButtonNormal];
  145. _btnEffect.selected = YES;
  146. [_btnEffect setBackgroundImage:[UIImage imageNamed:@"tab"] forState:UIControlStateNormal];
  147. [self.delegate onEffectBtnClicked];
  148. }
  149. - (void)onFilterBtnClicked
  150. {
  151. [self resetButtonNormal];
  152. _btnFilter.selected = YES;
  153. [_btnFilter setBackgroundImage:[UIImage imageNamed:@"tab"] forState:UIControlStateNormal];
  154. [self.delegate onFilterBtnClicked];
  155. }
  156. - (void)onMusicBtnClicked
  157. {
  158. [self resetButtonNormal];
  159. _btnMusic.selected = YES;
  160. [_btnMusic setBackgroundImage:[UIImage imageNamed:@"tab"] forState:UIControlStateNormal];
  161. [self.delegate onMusicBtnClicked];
  162. }
  163. - (void)onTextBtnClicked
  164. {
  165. [self resetButtonNormal];
  166. _btnText.selected = YES;
  167. [_btnText setBackgroundImage:[UIImage imageNamed:@"tab"] forState:UIControlStateNormal];
  168. [self.delegate onTextBtnClicked];
  169. }
  170. @end