這是自己沒(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)單?