| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- //
- // YBTabBar.m
- // WaWaJiClient
- //
- // Created by Rookie on 2017/11/15.
- // Copyright © 2017年 zego. All rights reserved.
- //
- #import "YBTabBar.h"
- @interface YBTabBar()
- @property (nonatomic,weak) UIView *addBgview;
- @property (nonatomic, weak) UIButton *addButton;
- @end
- @implementation YBTabBar
- - (instancetype)initWithFrame:(CGRect)frame{
- if(self=[super initWithFrame:frame]){
-
- UIView *addBgv = [[UIView alloc]init];
- addBgv.backgroundColor = [UIColor clearColor];
-
- [self addSubview:addBgv];
- self.addBgview = addBgv;
-
- UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
- CGRect frame = addButton.frame;
- //frame.size = addButton.currentBackgroundImage.size;
- frame.size = CGSizeMake(40, 40);
- addButton.frame = frame;
-
- //方式一 图片无文字
- [addButton setBackgroundImage:[UIImage imageNamed:@"tab_center"] forState:UIControlStateNormal];
- [addButton setBackgroundImage:[UIImage imageNamed:@"tab_center"] forState:UIControlStateHighlighted];
-
- //方式二 图片有文字
- /*
- [addButton setImage:[UIImage imageNamed:@"center"] forState:UIControlStateNormal];
- [addButton setImage:[UIImage imageNamed:@"center"] forState:UIControlStateHighlighted];
- [addButton setTitle:@"" forState: UIControlStateNormal];
- [addButton setTitle:@"" forState: UIControlStateHighlighted];
- [addButton setTitleColor:[UIColor clearColor] forState:UIControlStateHighlighted];
- [addButton setTitleColor:[UIColor clearColor] forState:UIControlStateNormal];
- addButton.titleLabel.font = SYS_Font(11);
- [addButton setImageEdgeInsets:UIEdgeInsetsMake(-(65-addButton.imageView.frame.size.height), 0.0, 0.0, -addButton.titleLabel.frame.size.height)];
- [addButton setTitleEdgeInsets:UIEdgeInsetsMake(-3, -addButton.imageView.frame.size.height, -(65-addButton.titleLabel.frame.size.height), 0.0)];
- */
- [addButton addTarget:self action:@selector(publishClick) forControlEvents:UIControlEventTouchUpInside];
- /** 预留*/
- [self addSubview:addButton];
- self.addButton = addButton;
-
- }
- return self;
- }
- /**
- * 中间按钮点击事件
- */
- - (void)publishClick{
- if ([_tabbarDelegate respondsToSelector:@selector(centerBtnDidClicked)]) {
- [_tabbarDelegate centerBtnDidClicked];
- }
- }
- - (void)layoutSubviews {
- [super layoutSubviews];
-
- CGFloat width = self.frame.size.width;
- CGFloat height = self.frame.size.height - ShowDiff;
-
- /**
- * 单独设置中间的按钮
- */
- self.addButton.center = CGPointMake(width * 0.5, height * 0.5);
- self.addBgview.frame = CGRectMake(width*2/5, 0, width/5, height);
- CGFloat buttonY = 0;
- CGFloat buttonW = width / 5;
- CGFloat buttonH = height;
- NSInteger index = 0;
- for (UIControl *button in self.subviews) {
- if (![button isKindOfClass:[UIControl class]] || button == self.addButton) continue;
- /** 中间空出 */
- CGFloat buttonX = buttonW * ((index > 1)?(index + 1):index);
- /** 中间不空 */
- // CGFloat buttonX = buttonW * index;
- button.frame = CGRectMake(buttonX, buttonY, buttonW, buttonH);
- index++;
- }
- }
- @end
|