2015-09-09 151 views
1

我正在複製下面圖像中的效果。我用UIImageView屬性創建了一個自定義UITableViewCell類。我將原型單元格設置爲我的自定義類。但是,我無法獲取表格單元格的高度來調整圖像的高度。圖像上方和下方總是有空間。如何在Swift中使用圖像填充表格單元格

enter image description here

+0

您是否設置了自動佈局? – Miknash

回答

0

您可以對您的圖像高度的UITableViewCell動態的喚起注意。該UITableViewDelegate有一個名爲tableView:estimatedHeightForRowAtIndexPath:功能據蘋果說:

要求一個行的指定位置估計高度的委託。

然後你就可以在你的方法索要UIImageView的高度,正確設置該行的高度,請看下面的例子:

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { 
    return self.getEstimatedHeightForImageAtIndex(indexPath.row) 
} 

func getEstimatedHeightForImageAtIndex(row: Int) -> CGFloat { 
    // here you need to get the height of image for the selected row. 
} 

有一個很好的教程,你可以看了就知道更多主題:

我希望這可以幫助你。

0

我所做的是創建一個自定義的UITableViewCell,將UIImageView添加到單元格中,並將其大小調整到故事板中以填充整個單元格。

如果你這樣做,請確保添加約束條件以使其水平和垂直居中,並添加間距約束,但將間距不改爲邊距(取消選中該框)。

見下面的圖片:

enter image description here

還有一件事要記住的是ImageView的內容模式。我從@EmptyStack學到了很多東西,@erkanyildiz回答了this question

我希望你找到任何有用的東西,如果沒有幫助,我很抱歉! :)

0

創建一個自定義UITableViewCell,將單元格樣式設置爲在故事板中自定義。將UIImageView添加到單元格並調整圖像大小以填充整個單元格。將圖像出口添加到您的自定義UITableViewCell中,並在您的TableViewController中創建圖像時使用該出口。

在你viewDidLoad中()函數添加 tableView.rowHeight = UITableViewAutomaticDimension

然後您需要圖像寬高比(寬度/高度),以便當您設置行的高度就可以使用它。

func tableView(tableView: UITableView, estimatedHeightForRowAtIndexPath 
indexPath: NSIndexPath) -> CGFloat { 
    return view.frame.width/CGFloat(aspectRatio) 
} 
相關問題