AutoLayout下CollectionView的自適應大小(一)

    本文是延續以前的需求進行了擴展,需求很簡單,就是讓8個label支持擴展,也就是能夠由服務端動態控制label的數量和文字內容,因此,這裏首先要作的就是讓collectionView的cell大小可以自適應文字的寬度。而後纔是動態設置collectionView的尺寸。.net

    爲了細分需求,這裏只說明如何變化cell的大小。
code

    這裏就要用到AutoLayout,因爲計算文字寬度的代碼都是通用的,這裏就不在囉嗦,直接給出。
blog

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

固然,在sizeForItemAtIndexPath要返回這個指定的寬度,這裏(50,24)就是原始的cell的大小get

return CGSizeMake(cellWidth, 24);it

這樣作了,可能仍是以爲怪怪的
io

問題已經很清楚了,cell的間距是凌亂的,這個問題放在下一篇去解決!class

相關文章
相關標籤/搜索