20160905: 自定制 tabBar, ? 老師的



//這個方法是用來給視圖重新布局的
- (void)layoutSubviews {
    [super layoutSubviews];
    
    NSLog(@"%@", self.subviews);
    
    //修改約束
    CGFloat btnW = kScreenWidth/5;
    
    //循環(huán)修改約束
    __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.創(chuàng)建新的約束并添加
            //subView mas_makeConstraints:<#^(MASConstraintMaker *make)block#>
            
            //2.重新創(chuàng)建約束并添加,同時刪除之前的約束
            //subView mas_remakeConstraints:<#^(MASConstraintMaker *make)block#>
            
            //3.更新約束,同時保留之前的約束
            //subView mas_updateConstraints:<#^(MASConstraintMaker *make)block#>
            
        }
        
       */
    }
    
    
}


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • ** 效果如下**1.有圖片、有title、有動畫 2.有圖片、無title、無動畫 usage: ** 1.初始...
    溜蘿卜閱讀 1,007評論 3 1
  • 兩個多小時的飛行,飛機在一曲薩頂頂?shù)慕饎偹_多百字明咒中平穩(wěn)降落北京城。海航一直是我比較喜歡的航空公司,不僅是因為空...
    燕之屋閱讀 228評論 0 0
  • cocoapods的安裝 遇到的問題 xcode升級后,插件失效的解決方法:終端輸入:find ~/Library...
    nenhall閱讀 1,933評論 0 3
  • 公交、地鐵不是一般的寬敞,一座難求成為笑談。 道路也是異常空曠和順暢。時而有的士或摩托呼嘯而過,看得出是去團年的趕...
    若水Dewlight閱讀 243評論 0 1
  • 今天看了《零極限》,整個人對這個世界都有了更深的體悟。 書義簡介 人的行為分成兩種:一種遵從記憶,另一種跟隨靈感,...
    豆燈姑娘阿澈閱讀 388評論 3 3

友情鏈接更多精彩內(nèi)容