#import "WBTabBar.h"
@interface WBTabBar()
/// 加号按钮
@property(nonatomic,weak) UIButton *plusBtn;
@end
@implementation WBTabBar
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
// 添加一个+号按钮 到tabbar中
UIButton *plusBtn = [[UIButton alloc] init];
// 设置背景
[plusBtn setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button"] forState:UIControlStateNormal];
[plusBtn setBackgroundImage:[UIImage imageNamed:@"tabbar_compose_button_highlighted"] forState:UIControlStateHighlighted];
// 增加+号图片
[plusBtn setImage:[UIImage imageNamed:@"tabbar_compose_icon_add"] forState:UIControlStateNormal];
[plusBtn setImage:[UIImage imageNamed:@"tabbar_compose_icon_add_highlighted"] forState:UIControlStateHighlighted];
// 大小
[plusBtn sizeToFit];
// 监听事件
[plusBtn addTarget:self action:@selector(plusClick) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:plusBtn];
self.plusBtn = plusBtn;
}
return self;
}
// 加号按钮点击事件
- (void)plusClick{
NSLog(@"加号按钮被点击了");
}
// 标签按钮布局
- (void)layoutSubviews{
[ super layoutSubviews ];
// 加号按钮居中显示 self.plusBtn.translatesAutoresizingMaskIntoConstraints = false;
//水平居中
NSLayoutConstraint *plusBtn_CenterX = [self.plusBtn.centerXAnchor constraintEqualToAnchor:self.centerXAnchor];
//垂直居中
NSLayoutConstraint *plusBtn_CenterY = [self.plusBtn.centerYAnchor constraintEqualToAnchor:self.centerYAnchor];
//宽度约束
NSLayoutConstraint *plusBtn_Width = [self.plusBtn.widthAnchor constraintEqualToConstant:64];
//高度约束
NSLayoutConstraint *plusBtn_Height = [self.plusBtn.heightAnchor constraintEqualToConstant:44];
[NSLayoutConstraint activateConstraints:@[plusBtn_CenterX,plusBtn_CenterY,plusBtn_Width,plusBtn_Height]];
}
/// 其他按钮尺寸及位置
// 按钮索引
CGFloat index = 0;
// 按钮宽度
CGFloat itemW = self.bounds.size.width / 5;
CGFloat itemH = self.bounds.size.height;
for (UIView * subView in self.subviews) {
if ([subView isKindOfClass:NSClassFromString(@"UITabBarButton")]) {
// 设置宽度
subView.frame = CGRectMake(itemW * index, 0, itemW, itemH);
index += 1;
if (index == 2) {
index += 1;
}
}
}
新浪微博加号按钮OC代码
最新推荐文章于 2021-02-01 01:07:14 发布