AutoLayout下CollectionView的自适应大小(一)

    本文是延续之前的需求进行了扩展,需求很简单,就是让8个label支持扩展,也就是可以由服务端动态控制label的数量和文字内容,所以,这里首先要做的就是让collectionView的cell大小能够自适应文字的宽度。然后才是动态设置collectionView的尺寸。

    为了细分需求,这里只说明如何变化cell的大小。

    这里就要用到AutoLayout,由于计算文字宽度的代码都是通用的,这里就不在啰嗦,直接给出。

NSDictionary *attribute = @{NSFontAttributeName: [UIFont systemFontOfSize:15]};
CGSize currentLabelSize = [labelText sizeWithAttributes:attribute];
CGFloat cellWidth = MAX(50, currentLabelSize.width + 16);

当然,在sizeForItemAtIndexPath要返回这个指定的宽度,这里(50,24)就是原始的cell的大小

return CGSizeMake(cellWidth, 24);

这样做了,可能还是觉得怪怪的

151304_Qblg_2435827.png问题已经很清楚了,cell的间距是凌乱的,这个问题放在下一篇去解决!

转载于:https://my.oschina.net/u/2435827/blog/546801

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值