您的位置:首页 > 编程语言

新浪微博加号按钮OC代码

2017-08-31 20:47 239 查看


#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;
}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息