[英]Dynamic Height for UICollectionView Cell
這是我第一次嘗試以編程方式創建collectionView。 我使用了一些教程來了解我現在的位置,它是一個帶有textView和imageView的Facebook / LinkedIn式布局。 當有圖像時它們看起來很棒,但是我不知道如何在沒有圖像時動態減小單元的高度。 我知道我目前的固定高度為500,但這是我的第一次嘗試,不確定如何設置它以進行動態調整。
我已經看過很多Obj-C的例子,但是對於Swift卻一無所知。
func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize {
if let textContent = dataSource.posts[indexPath.item].textContent {
let rect = NSString(string: textContent).boundingRectWithSize(CGSizeMake(view.frame.width, 1000), options: NSStringDrawingOptions.UsesFontLeading.union(NSStringDrawingOptions.UsesLineFragmentOrigin), attributes: [NSFontAttributeName:UIFont.systemFontOfSize(14)], context: nil)
return CGSizeMake(view.frame.width, rect.height + 370)
}
return CGSizeMake(view.frame.width, 500)
}
}
我的垂直視覺布局約束(使用擴展名創建):
addContstraintsWithFormat("V:|-8-[v0(44)]-4-[v1]-4-[v2][v3(44)][v4(1)][v5(44)]|", views: profileImg, postTextView, postImageView, likesCommentsLabel, dividerLineView, likeButton)
sizeForItemAtIndexPath是集合視圖委托函數之一,您可以在其中設置每個單元格的高度。 在此委托中,只需添加一個條件即可。您可以在其中檢查單元格是否具有圖像,並使用CGSizeMake根據該設置的高度
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.