2017-10-07 221 views
0

圖像顯示在其中一個單元格中。UITableViewAutomaticDimension將自動佈局約束的單元格內容切到底部

圖像的約束條件如下:

enter image description here

heightForRow該單元的高度設定爲UITableViewAutomaticDimension。但圖像從底部切下。如何解決這個問題,使圖像顯示完整?謝謝。

輸出如下所示:

enter image description here

+0

你是不是得到一個「需求Y位置約束」的警告?我不確定在單元格中是否有其他UI元素確定單元格的高度,但我認爲'> = 25'應該等於25,優先級低於頂部約束。 –

+0

@AuRis還有另一個元素'UILabel',它在這個圖標右邊的所有4個邊上都是15。那麼哪一個應該得到更高的優先級?圖標或標籤?感謝您的迴應。 –

+0

@asdiu您的源圖像的縱橫比是多少? (是正方形還是長方形?) – Kymer

回答

2

正如我在評論中提及,如果要自上漿單元,決定哪個元件(或組合),將決定的高度。在你的情況下,圖像視圖有一個高度約束,這意味着創建領先,頂部和底部約束的優先級低於頂部約束,否則IB會抱怨Y位置。然後用>= 8或類似的東西跟蹤到你的標籤,然後UILabel追蹤到超級視圖,最後是標籤的Y位置,或者以Y爲中心,或者給它一個頂部或底部約束,或者兩者都是,但優先級低於圖像視圖或更低的擁抱優先權。

這裏是圖像視圖的約束:

enter image description here

底部約束具有比最上面的一個較低的優先級。 UILabel垂直居中,因此它對單元大小沒有影響。如果您對UIlabel有頂部和底部約束,請確保它們的優先級低於圖像視圖的優先級,或者它的擁抱優先級低於圖像視圖。

下面是它看起來像在模擬器:

enter image description here