簡體   English   中英

將 UILabel/UIImageView 添加到 UIContentViewCell 會擾亂它的大小

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM