FUHeadButtonView.m 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. //
  2. // FUHeadButtonView.m
  3. // FULiveDemo
  4. //
  5. // Created by 孙慕 on 2019/1/29.
  6. // Copyright © 2019年 FaceUnity. All rights reserved.
  7. //
  8. #import "FUHeadButtonView.h"
  9. #import "Masonry.h"
  10. @implementation FUHeadButtonView
  11. -(instancetype)initWithFrame:(CGRect)frame{
  12. if (self = [super initWithFrame:frame]) {
  13. [self setupSubView];
  14. [self addLayoutConstraint];
  15. }
  16. return self;
  17. }
  18. -(void)setupSubView{
  19. _mHomeBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  20. [_mHomeBtn setImage:[UIImage imageNamed:@"home icon"] forState:UIControlStateNormal];
  21. [_mHomeBtn addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
  22. [self addSubview:_mHomeBtn];
  23. _selectedImageBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  24. [_selectedImageBtn setImage:[UIImage imageNamed:@"demo_icon_more"] forState:UIControlStateNormal];
  25. [_selectedImageBtn addTarget:self action:@selector(selImageAction:) forControlEvents:UIControlEventTouchUpInside];
  26. [self addSubview:_selectedImageBtn];
  27. _bulyBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  28. [_bulyBtn setImage:[UIImage imageNamed:@"bugly"] forState:UIControlStateNormal];
  29. [_bulyBtn addTarget:self action:@selector(buglyAction:) forControlEvents:UIControlEventTouchUpInside];
  30. [self addSubview:_bulyBtn];
  31. _switchBtn = [UIButton buttonWithType:UIButtonTypeCustom];
  32. [_switchBtn setImage:[UIImage imageNamed:@"camera_btn_shotcut_normal"] forState:UIControlStateNormal];
  33. [_switchBtn addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventTouchUpInside];
  34. [self addSubview:_switchBtn];
  35. //先创建一个数组用于设置标题
  36. NSArray *arr = [[NSArray alloc]initWithObjects:@"BGRA",@"YUV", nil];
  37. _inputSegm = [[UISegmentedControl alloc] initWithItems:arr];
  38. _inputSegm.tintColor = [UIColor whiteColor];
  39. _inputSegm.selectedSegmentIndex = 0;
  40. [_inputSegm addTarget:self action:@selector(change:) forControlEvents:UIControlEventValueChanged];
  41. [self addSubview:_inputSegm];
  42. }
  43. -(void)addLayoutConstraint{
  44. [_mHomeBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  45. make.bottom.equalTo(self);
  46. make.left.equalTo(self).offset(10);
  47. make.height.width.mas_equalTo(44);
  48. }];
  49. [_inputSegm mas_makeConstraints:^(MASConstraintMaker *make) {
  50. make.centerY.equalTo(self.mHomeBtn);
  51. make.left.equalTo(self.mHomeBtn.mas_right).offset(12);
  52. make.width.mas_equalTo(96);
  53. make.height.mas_equalTo(27);
  54. }];
  55. [_switchBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  56. make.right.equalTo(self).offset(-10);
  57. make.centerY.equalTo(self.mHomeBtn);
  58. make.height.width.mas_equalTo(44);
  59. }];
  60. [_bulyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  61. make.right.equalTo(self.switchBtn.mas_left).offset(-10);
  62. make.centerY.equalTo(self.mHomeBtn);
  63. make.height.width.mas_equalTo(44);
  64. }];
  65. [_selectedImageBtn mas_makeConstraints:^(MASConstraintMaker *make) {
  66. make.right.equalTo(self.bulyBtn.mas_left).offset(-10);
  67. make.centerY.equalTo(self.mHomeBtn);
  68. make.height.width.mas_equalTo(44);
  69. }];
  70. }
  71. #pragma mark - UI 交互
  72. -(void)backAction:(UIButton *)btn{
  73. if ([_delegate respondsToSelector:@selector(headButtonViewBackAction:)]) {
  74. [_delegate headButtonViewBackAction:btn];
  75. }
  76. }
  77. -(void)selImageAction:(UIButton *)btn{
  78. if ([_delegate respondsToSelector:@selector(headButtonViewSelImageAction:)]) {
  79. [_delegate headButtonViewSelImageAction:btn];
  80. }
  81. }
  82. -(void)buglyAction:(UIButton *)btn{
  83. if ([_delegate respondsToSelector:@selector(headButtonViewBuglyAction:)]) {
  84. [_delegate headButtonViewBuglyAction:btn];
  85. }
  86. }
  87. -(void)switchAction:(UIButton *)btn{
  88. if ([_delegate respondsToSelector:@selector(headButtonViewSwitchAction:)]) {
  89. [_delegate headButtonViewSwitchAction:btn];
  90. }
  91. }
  92. -(void)change:(UISegmentedControl *)sender{
  93. if ([_delegate respondsToSelector:@selector(headButtonViewSegmentedChange:)]) {
  94. [_delegate headButtonViewSegmentedChange:sender];
  95. }
  96. }
  97. @end