123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126 |
- //
- // FUHeadButtonView.m
- // FULiveDemo
- //
- // Created by 孙慕 on 2019/1/29.
- // Copyright © 2019年 FaceUnity. All rights reserved.
- //
- #import "FUHeadButtonView.h"
- @implementation FUHeadButtonView
- -(instancetype)initWithFrame:(CGRect)frame{
- if (self = [super initWithFrame:frame]) {
- [self setupSubView];
- [self addLayoutConstraint];
- }
-
- return self;
- }
- -(void)setupSubView{
- _homeButton = [UIButton buttonWithType:UIButtonTypeCustom];
- [_homeButton setImage:[UIImage imageNamed:@"render_back_home"] forState:UIControlStateNormal];
- [_homeButton addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
- [self addSubview:_homeButton];
-
- _selectedImageButton = [UIButton buttonWithType:UIButtonTypeCustom];
- [_selectedImageButton setImage:[UIImage imageNamed:@"render_more"] forState:UIControlStateNormal];
- [_selectedImageButton addTarget:self action:@selector(selImageAction:) forControlEvents:UIControlEventTouchUpInside];
- [self addSubview:_selectedImageButton];
-
- _bulyButton = [UIButton buttonWithType:UIButtonTypeCustom];
- [_bulyButton setImage:[UIImage imageNamed:@"render_bugly"] forState:UIControlStateNormal];
- [_bulyButton addTarget:self action:@selector(buglyAction:) forControlEvents:UIControlEventTouchUpInside];
- [self addSubview:_bulyButton];
-
- _switchButton = [UIButton buttonWithType:UIButtonTypeCustom];
- [_switchButton setImage:[UIImage imageNamed:@"render_camera_switch"] forState:UIControlStateNormal];
- [_switchButton addTarget:self action:@selector(switchAction:) forControlEvents:UIControlEventTouchUpInside];
- [self addSubview:_switchButton];
-
- //先创建一个数组用于设置标题
- NSArray *arr = [[NSArray alloc]initWithObjects:@"BGRA",@"YUV", nil];
- _segmentedControl = [[FUSegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 77, 27) items:arr];
- _segmentedControl.selectedTitleColor = FUColorFromHex(0x2C2E30);
- _segmentedControl.layer.masksToBounds = YES;
- _segmentedControl.layer.cornerRadius = 4;
- _segmentedControl.layer.borderWidth = 1.5;
- _segmentedControl.layer.borderColor = [UIColor whiteColor].CGColor;
- _segmentedControl.selectedIndex = 0;
- @FUWeakify(self);
- _segmentedControl.selectHandler = ^(NSUInteger index) {
- @FUStrongify(self);
- if ([self.delegate respondsToSelector:@selector(headButtonViewSegmentedChange:)]) {
- [self.delegate headButtonViewSegmentedChange:index];
- }
- };
- [self addSubview:_segmentedControl];
- }
- -(void)addLayoutConstraint{
- [_homeButton mas_makeConstraints:^(MASConstraintMaker *make) {
- make.bottom.equalTo(self);
- make.leading.equalTo(self).offset(10);
- make.height.width.mas_equalTo(44);
-
- }];
-
- [_segmentedControl mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerY.equalTo(self.homeButton);
- make.leading.equalTo(self.homeButton.mas_trailing).offset(12);
- make.width.mas_equalTo(77);
- make.height.mas_equalTo(27);
- }];
-
- [_switchButton mas_makeConstraints:^(MASConstraintMaker *make) {
- make.trailing.equalTo(self).offset(-10);
- make.centerY.equalTo(self.homeButton);
- make.height.width.mas_equalTo(44);
-
- }];
-
- [_bulyButton mas_makeConstraints:^(MASConstraintMaker *make) {
- make.trailing.equalTo(self.switchButton.mas_leading).offset(-10);
- make.centerY.equalTo(self.homeButton);
- make.height.width.mas_equalTo(44);
-
- }];
-
- [_selectedImageButton mas_makeConstraints:^(MASConstraintMaker *make) {
- make.trailing.equalTo(self.bulyButton.mas_leading).offset(-10);
- make.centerY.equalTo(self.homeButton);
- make.height.width.mas_equalTo(44);
-
- }];
- }
- #pragma mark - UI 交互
- -(void)backAction:(UIButton *)btn{
- if ([_delegate respondsToSelector:@selector(headButtonViewBackAction:)]) {
- [_delegate headButtonViewBackAction:btn];
- }
- }
- -(void)selImageAction:(UIButton *)btn{
- if ([_delegate respondsToSelector:@selector(headButtonViewSelImageAction:)]) {
- [_delegate headButtonViewSelImageAction:btn];
- }
- }
- -(void)buglyAction:(UIButton *)btn{
- if ([_delegate respondsToSelector:@selector(headButtonViewBuglyAction:)]) {
- [_delegate headButtonViewBuglyAction:btn];
- }
- }
- -(void)switchAction:(UIButton *)btn{
- if ([_delegate respondsToSelector:@selector(headButtonViewSwitchAction:)]) {
- [_delegate headButtonViewSwitchAction:btn];
- }
- }
- @end
|