2016-12-07 22 views
0

我有一個圖像視圖的自定義表格視圖單元格。在.xib文件中,我將高度和寬度約束設置爲23.然後將其設置爲圖像。UITableViewCell子類imageView不遵循大小約束

當使用它作爲一個單元格時,圖像不遵循約束條件23.我試圖從規模的UIImageView的內容模式填充,以適應ascpect,以及其他各種各樣的工作。我究竟做錯了什麼?

My table view cell in xib. Notice the height and width constraints

The result

Add the size inspector and constraint

View debug Content mode on the profile image Showing that clips to bound and content mode

+0

爲什麼你需要它23?你可以將它設置爲單元格大小的百分比嗎?那樣,無論你裝載什麼設備,它都可以正確縮放?你的tableview單元格高度是多少? –

+0

表視圖單元格高度是50.在單元格下,選擇了自定義,高度設置爲50 – okysabeni

+0

此外,它是什麼設備並不重要,但我希望高度爲50,因此配置文件圖像將是正確的。 – okysabeni

回答

0

自動佈局可以消除制約因素,因爲它認爲合適的,如果事情與佈局過程中發生衝突。 IB會自動將您的寬度和高度約束優先級設置爲1000.當出現問題並且您看到您的約束正在更改時,請檢查調試日誌,您可能會看到系統添加了一個名爲UIView-Encapsulated-Layout-Height的約束,該系統可能也刪除了一些限制條件。

嘗試單擊IB中的高度和寬度約束旁邊的編輯,並將其優先級設置爲999而不是1000,然後查看是否可以解決您的問題。

+0

高度和寬度都設置爲高度= 23 @ 999,但仍然不起作用。我如何查看調試日誌? – okysabeni

+0

我添加了視圖調試,並沒有看到任何跳出。這就像約束根本不適用。 – okysabeni

+0

嗯,底部那兩個圖像視圖是什麼?我沒有在包含表視圖的視圖控制器中看到它們。他們只是漂浮?您可能必須發佈您的表格視圖代碼。 –

0

我猜你的contentMode爲中心
試試改變你的ImageView contentMode,就像這樣: imageView.contentMode = UIViewContentModeScaleToFill;

+0

內容模式是要填充的比例。見附件截圖。 – okysabeni

0

檢查「剪輯界」在IBOutlet中,並使用

imageView.contentMode = UIViewContentModeScaleToFill; 
+0

我已經將它設置爲剪輯並將其設置爲縮放以填充。看最後附上的圖像。 – okysabeni

+0

只需從ImageView中刪除圖像並設置背景顏色,然後檢查是否發生了相同的事情,或者您設置的圖像視圖很小。你應該確認問題是與UIImageView或圖像... –

相關問題