2016-03-02 101 views
1

我試圖加載圖像到我的tableview單元格,但是,圖像似乎比imageview更大,並超過了imageview的邊界。 我試圖將UIImageViewcontentMode屬性設置爲ScaleAspectFit,但它並未解決我的問題。圖像不適合imageview在自定義tableview單元格

代碼:

cell.imageView?.contentMode = UIViewContentMode.Center 
cell.imageView?.contentMode = UIViewContentMode.ScaleAspectFit 
switch (post.priorityLevel){ 
    case "High Priority Posting": 
     cell.imageView?.image = UIImage(named: "High Priority Posting") 
    case "Priority Posting": 
     cell.imageView?.image = UIImage(named: "Priority Posting") 
    case "General Posting": 
     cell.imageView?.image = UIImage(named: "General Posting") 
    default: 
     print("Priority Level can't be loaded to table") 
} 

我說從界面生成器和仿真結果我的表視圖的屏幕截圖。

任何建議,將不勝感激。 enter image description here

enter image description here

+0

可以在UI調試檢查圖像的大小,並檢查所有約束。如果您可以向我們展示您爲單元格設置了哪些約束條件,那麼我們肯定可以幫助您。 – arjavlad

回答

2

按照以下約束,你會看到魔自動佈局

ImageView的約束:

enter image description here

設置要爲imageView顯示的修復高度和寬度,並設置VerticalCentre約束。將imageView的內容模式設置爲Aspect Fit。

頂標籤約束:

enter image description here

標籤TrailingSpace約束不應該是一個恆定值,而是設置爲標準間距(即8分)。

第二標籤約束:

enter image description here

標籤TrailingSpace和BottomSpace約束不應該是一個恆定值,而是設置爲標準間距(ⅰ。E 8分),並設置其VerticalContentHugging優先〜250

enter image description here

更新:

ImageView的垂直約束到細胞:

enter image description here

的Label1 TrailingSpace與標準間距細胞:

enter image description here

Label2的TrailingSpace與標準間距和BottomSpace到細胞與標準間距到小區。

enter image description here

+0

嗨巴拉特,我喜歡你的答案,但是你能告訴我在哪裏添加verticalCentre約束和標籤尾隨空間?到處都找不到他們 – libra

+0

非常感謝你爲你更新!!,這大概是我所#1 – libra

0

的UIImage

1)首先你設置前導空格,高度相等,中心垂直於容器 2)設置高度本身

的ImageView的做

城市和州

1)設定的水平空間和頂端到的UIImageView,尾隨空間容器視圖 2)設置高度本身

說明標籤

1)設定的水平空間和底部到的UIImageView,尾隨空間容器視圖

2)設置高度本身 故事板 - >組線= 0

3

嘗試cell.imageView .contentMode = UIViewContentMode.ScaleAspectFill

+0

很抱歉,這沒有奏效T_T所收到的最好的答案,它看起來同 – libra

+1

所以可能是你的問題設計。 –

0

如果它的自定義表視圖細胞,不命名的ImageView出口 「的ImageView」,它的名字到任何其他的如? 「cellImageView」。然後嘗試將clipsToBound設置爲你的cell cellImageView的true。

相關問題