如何使表格单元符合所包含图像的大小?

时间:2015-06-27 02:24:04

标签: xcode swift uitableview uiimageview xcode6

我正在试图找出如何制作不同大小的图像表。图像调整大小以适合设备的宽度,并且单元格适合图像的高度。目前,图像的大小已经变为表格单元格。

enter image description here

Xcode project

的ViewController

import UIKit

class ViewController: UIViewController, UITableViewDataSource {

var images = ["abstract","city","city2","nightlife"]

override func viewDidLoad() {
    super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    var cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! ImageTableViewCell
    cell.configureCellWith(images[indexPath.item])
    return cell
}

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return images.count
}

}

ImageTableViewCell

import UIKit

class ImageTableViewCell: UITableViewCell {

@IBOutlet weak var tableImage: UIImageView!

func configureCellWith(image: String) {
    tableImage.image = UIImage(named: image)
}

}

2 个答案:

答案 0 :(得分:1)

实施heightForRowAtIndexPath将单元格高度设置为该单元格图像的正确高度。

(您可以通过检查图像的宽度和高度来确定高度,然后除以给出纵横比。现在使用该纵横比来确定基于单元格宽度的高度,即表格宽度。)

答案 1 :(得分:0)

这实际上相当简单。您只需实现heightForRowAtIndexPath函数并返回每个单元格的图像高度。

position: absolute;