20160905: 自定制 tabBar, † 老师的



//这个方法是用来给视图重新布局的
- (void)layoutSubviews {
    [super layoutSubviews];
    
    NSLog(@"%@", self.subviews);
    
    //修改约束
    CGFloat btnW = kScreenWidth/5;
    
    //循环修改约束
    __block int index = 0;
    for (UIView *subView in self.subviews) {
        
        //判断是否是按钮
        //UIButton
        //UITabBarButton
        if ([subView isKindOfClass:[UIControl class]]) {
            //修改序号
            if ([subView isKindOfClass:[UIButton class]]) {
                
                //添加按钮
                CGFloat offsetX = kScreenWidth/2-40.0/2;
                subView.frame = CGRectMake(offsetX, 4, 40, 40);
            }else{
                
                //默认的tabBarItem的按钮
                if (index > 1) {
                    subView.x = btnW*(index+1);
                }else{
                    subView.x = btnW*index;
                }
                
//                lastFrame.size.width = btnW;
//                subView.frame = lastFrame;
                
                index ++;
            }
        }

        
        /*
        if ([subView isKindOfClass:[UIControl class]]) {
            
            [subView mas_updateConstraints:^(MASConstraintMaker *make) {
                //make.left.equalTo(btnW*1);
                
                //修改序号
                if ([subView isKindOfClass:[UIButton class]]) {
                    
                    //添加按钮
                    make.left.mas_equalTo(btnW*2);
                    make.top.mas_equalTo(4);
                    make.size.mas_equalTo(CGSizeMake(40, 40));
                }else{
                    
                    //默认的tabBarItem的按钮
                    if (index > 1) {
                        make.left.mas_equalTo(btnW*(index+1));
                    }else{
                        make.left.mas_equalTo(btnW*index);
                    }
                    
                    index ++;
                }
                
            }];
            
            
            //1.创建新的约束并添加
            //subView mas_makeConstraints:<#^(MASConstraintMaker *make)block#>
            
            //2.重新创建约束并添加,同时删除之前的约束
            //subView mas_remakeConstraints:<#^(MASConstraintMaker *make)block#>
            
            //3.更新约束,同时保留之前的约束
            //subView mas_updateConstraints:<#^(MASConstraintMaker *make)block#>
            
        }
        
       */
    }
    
    
}


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ** 效果如下**1.有图片、有title、有动画 2.有图片、无title、无动画 usage: ** 1.初始...
    溜萝卜阅读 959评论 3 1
  • 两个多小时的飞行,飞机在一曲萨顶顶的金刚萨多百字明咒中平稳降落北京城。海航一直是我比较喜欢的航空公司,不仅是因为空...
    燕之屋阅读 190评论 0 0
  • cocoapods的安装 遇到的问题 xcode升级后,插件失效的解决方法:终端输入:find ~/Library...
    nenhall阅读 1,815评论 0 3
  • 公交、地铁不是一般的宽敞,一座难求成为笑谈。 道路也是异常空旷和顺畅。时而有的士或摩托呼啸而过,看得出是去团年的赶...
    若水Dewlight阅读 201评论 0 1
  • 今天看了《零极限》,整个人对这个世界都有了更深的体悟。 书义简介 人的行为分成两种:一种遵从记忆,另一种跟随灵感,...
    豆灯姑娘阿澈阅读 355评论 3 3