UITableViewCell
次のようなストーリーボードを使用して実装されています。
画像がない場合のセルの外観は次のとおりです。
私は制約をいじり、これを理解しようとして頭を叩いていましたが、運がありませんでした。私は制約とそれらをプログラムで追加する方法をかなりよく理解していますが、この特定の問題に運がなく、論理的な思考プロセスなしでレイアウト制約をセルに勝手に追加しているように感じます. セルはニュースフィードの投稿を表し、上部のメイン画像ビューに画像がある場合とない場合があり、次のように動作する必要があります。セルに画像が含まれていない場合は、いいねとコメントの数を含む下部のバーが上に移動して、セルの上部に揃えられます。小さい画像ビュー、投稿タイトル、投稿時間、投稿コンテンツをセルの下部から一定の距離に保つ制約を設定することで、この動作を実現しました。heightForRowAtIndexPath
サブビューが適切に移動するメソッド。問題は、投稿コンテンツのテキストが 1 行よりも大きい場合に発生します。セルの高さは正しく調整されますが、テキスト ビューの上部は同じ位置にとどまり、下に伸びて次のセルにはみ出します。4 つのサブビューをセルの上部に揃えるように制約を設定すると、画像がなく、投稿コンテンツが 1 行よりも大きい場合に問題が発生します。この場合、セルは元のサイズよりも小さくなるようにサイズ変更され、サブビューは制約によって指定された距離にとどまります。小さい画像、投稿のタイトル、時間、コンテンツは切り取られて表示されません。これは、非常に多くの異なるケースで非常に奇妙な問題です。私はこれにほぼ2日間取り組んでおり、この問題を解決する方法について他の誰かの考えを実際に使用することができました.