我有一個配置了自動佈局的UIImageView
對象。我已經創建了約束,以便視圖與其超視圖保持恆定的距離。在視覺格式將是這樣的:如何將自動佈局約束與UIView的contentMode屬性結合起來
@"V:|-[imageView]-|"
@"H:|-[imageView]-|"
但我也想保持底層圖像的縱橫比,所以我分配給UIViewContentModeScaleAspectFit
contentMode
。
我想一切工作良好,直到我設置cornerRadius
值相關聯的CALayer
:
self.imageView.layer.cornerRadius = 7;
self.imageView.layer.maskToBounds = YES;
現在,當圖像視圖的大小時,例如由於方向的改變,取決於視圖所獲得的新尺寸,圓角會丟失。其原因是,cornerRadius
適用於UIImageView
(框架下面劃線),但由於底層圖像也被調整爲尊重contentMode
(以下星號幀),圓潤的邊角都不再可見:
--------------------------
| ********** |
| * * |
| * * |
| * * |
| ********** |
--------------------------
有一種防止這種行爲的方法?
謝謝..工作像一個魅力。掙扎了這麼久。 –
只有當您將約束附加到tableview單元格而不是contentView時,才能爲UITableViewCell工作。 (仍然可以將視圖添加到contentView –
如果您對uitableviewcell中的所有大小類都有複雜約束,則這是解決方案 – khunshan