10行代碼實(shí)現(xiàn)標(biāo)簽流式布局

這是自己沒(méi)事寫(xiě)的小demo,實(shí)現(xiàn)標(biāo)簽根據(jù)標(biāo)簽的文字長(zhǎng)度進(jìn)行流式布局。
效果如下


Simulator Screen Shot 2017年8月11日 下午5.55.58.png

10行代碼即可實(shí)現(xiàn),簡(jiǎn)單易懂,廢話(huà)不說(shuō),上代碼

NSArray *btnTitles = @[@"華潤(rùn)蘇果",@"樂(lè)城",@"柏兆記",@"銀泰城",@"萬(wàn)達(dá)游樂(lè)園",@"皇冠假日酒店",@"霍山大酒店",@"之心城",@"西湖國(guó)際購(gòu)物廣場(chǎng)",@"蘇果超市",@"錦江之星",@"萬(wàn)達(dá)廣場(chǎng)",@"華潤(rùn)五彩城",@"大唐購(gòu)物廣場(chǎng)",@"三孝口",@"合肥南站",@"威斯汀酒店"];
    NSInteger count = [btnTitles count];
    NSLog(@"%ld",count);
    CGFloat  maxX = 15;
    CGFloat row = 0;
    CGFloat maxY = NavigationBarHeight+60;
    for (int i=0; i<count;i++)
    {
        UILabel *lab = [[UILabel alloc]init];
        lab.text = btnTitles[i];
        lab.backgroundColor = [UIColor whiteColor];
        lab.textColor = [UIColor grayColor];
        lab.layer.cornerRadius = 5.0f;
        lab.layer.masksToBounds = YES;
        lab.font = [UIFont systemFontOfSize:14];
        lab.textAlignment = NSTextAlignmentCenter;
        [self.view addSubview:lab];
        
        NSString *str = btnTitles[i];
        CGFloat width = (str.length+2)*15;
        CGFloat height = 30;
        
        if (maxX +width< Screen_Width) {
            lab.frame = CGRectMake(maxX,maxY,width,height);
            maxX = CGRectGetMaxX(lab.frame)+10;
        }
        else
        {
            row ++;
            maxY += 45;
            maxX = 15;
            lab.frame = CGRectMake(maxX,maxY,width,height);
            maxX = CGRectGetMaxX(lab.frame)+10;
        }
    }

代碼就是這樣了,是不是很簡(jiǎn)單?

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

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,094評(píng)論 25 709
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,160評(píng)論 1 92
  • 跑步,從開(kāi)始的3KM都吃力到現(xiàn)在的15KM。是數(shù)據(jù)的變化,是心態(tài)的變化,也是身體的變化。 而這一年多的跑步習(xí)慣,只...
    晨曦問(wèn)早閱讀 219評(píng)論 0 0
  • 第四回 轉(zhuǎn)機(jī) 乍暖還寒的春季,清澈見(jiàn)底的六河,膽小調(diào)皮的毛蟹,草葉甘香的蘆葦,忽如其來(lái)的春雨,香味四溢的油菜...
    拾荒野人閱讀 313評(píng)論 0 2
  • 注: 這篇文章因無(wú)法重新編輯, 已重寫(xiě), 請(qǐng)參考新的文章: iOS 在cell中使用倒計(jì)時(shí)的處理方法(新) 需求:...
    大頭herob閱讀 13,156評(píng)論 82 44

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