[英]Adding UILabel/UIImageView to UIContentViewCell disturbs it's size
我在情節提要中定義了一個 UICollectionViewCell,它的 contentView 中添加了一個 UILabel。 集合視圖使用流布局,我在流布局委托中返回固定大小的單元格,如下所示:
let sizeOfItem = CGFloat(210.0)
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: sizeOfItem, height: sizeOfItem)
}
我在情節提要中為 UILabel 添加了以下約束,並且單元格會自動開始調整自身大小以匹配 UILabel 中的文本大小。 這不是我想要的。 我希望單元格大小固定,標簽自動收縮。
我什至嘗試將標簽的 contentHuggingPriority 設置為最低值(即 1)。 如果標簽中的文本很小,這會阻止單元格自動收縮。 但是當文本很大時,單元格仍然會增長。 我也不希望這種情況發生。 我希望單元格的大小固定為委托中的 sizeForItem 返回的大小,並且標簽可以調整其字體大小。
編輯:我還將 contentCompressionProperty 設置為最低,然后它就可以工作了。 但我想知道解決這種 contentView 不依賴於子視圖的場景的正確方法是什么。
編輯 2:當在 contentView 中有 UIImageView 並且圖像大於或小於定義的單元格大小時,也會出現問題。 設置 UIImageView 的內在內容大小沒有幫助。
要獲得委托方法中指定的確切單元格大小,您不能使用等寬約束,因為那樣它將是一個動態大小的單元格。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.