1つのタイプのカスタムUITableViewCellで満たされたUITableViewがあります。各セルには、以下に示すように、タイトル(UILabel)、サブタイトル(UILabel)、およびサムネイル(UIImageView)が含まれています。
3つのサブビューすべての幅は固定されていますが、高さが固定されているのは字幕ラベルのみです。タイトルラベルの高さは、テキストの量に応じて動的です。numberOfLines
これを反映するために、タイトルラベルを0に設定しました。
私の目的:セルの高さは、タイトルラベルの高さによって決定する必要があります。つまり、セルの高さは、2つのラベルの高さと3つの垂直方向のパディングギャップの合計である必要があります。画像の高さは、結果として得られるセルの高さに設定する必要があります。
私の現在の実装:次の自動レイアウト制約を設定しました:
さらに:
numberOfLines
= 0contentMode
=アスペクトフィルclipToBounds
= true問題:画像の高さがラベルの高さを尊重しないため、セルの高さが画像の高さに設定され、タイトルラベルが垂直方向に引き伸ばされます。これは私が使用した制約を考えると理解できますが、私が望んでいることではありません。
私の質問:セルの高さをUIImageViewの高さで尊重するのではなく、セルの高さ(動的なラベルの高さで決定)を尊重するようにUIImageViewの高さを制限するにはどうすればよいですか?
私の環境:
設定してみてくださいthumbnail
垂直compression resistance
より低いtitle
垂直hugging priority
。コードでは、次のようになります。
thumbnail.setContentCompressionResistancePriority(.defaultLow, for: .vertical)
titleLabel.setContentHuggingPriority(.required, for: .vertical)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加