专栏名称: Adrenine
iOS开发
目录
相关文章推荐
51好读  ›  专栏  ›  Adrenine

iOS控件之UITabBar

Adrenine  · 掘金  ·  · 2017-12-13 08:46

正文

自定义UITabBar思路,在 XBYTabBarControlle r中viewDidLoad调用方法

/**
 设置自定义TabBar
 */
-(void)setupTabBar {
    XBYTabBar *tabBar = [XBYTabBar new];
    //self.tabBar = tabBar;由于tabBar是readOnly,所以不能直接赋值,使用KVC
    [self setValue:tabBar forKeyPath:@"tabBar"];
    NSLog(@"setupTabBar --- >%@",self.tabBar);
}

对系统TabBar进行替换,然后再加上TabBarButton **PS: 注意:系统的TabBarButton是在viewWillAppear中加入到self.tabBar中的,所以上面的方法需要在viewWillAppear之前调用才能替换掉系统的tabBar,否则无效 **

XBYTabBar中

#import "XBYTabBar.h"
@interface XBYTabBar()

@property(nonatomic, strong) UIButton *button;

@end

@implementation XBYTabBar

-(void)layoutSubviews {
    [super layoutSubviews];
    
    [self addSubview:self.button];
    
    NSLog(@"%@",self.subviews);
    
    NSInteger count = self.items.count+1;
    CGFloat btnW = self.frame.size.width /count;
    CGFloat btnH = self.frame.size.height;
    CGFloat btnX = 0;
    
    NSInteger i=0;
    //遍历
    for (UIView *tabBarButton in self.subviews){
        if






请到「今天看啥」查看全文