防止表视图单元格中的图像重叠

时间:2015-04-09 17:54:55

标签: ios swift uiimageview tableviewcell

在我的cellForRowAtIndexPath方法中,我有以下代码。

    var cell = tableView.dequeueReusableCellWithIdentifier("Media Item", forIndexPath: indexPath) as MediaItemTableViewCell

    let mediaItem = tweet!.media[indexPath.row]

    let imageData = NSData(contentsOfURL: mediaItem.url)

    if imageData != nil {
        cell.mediaImage = UIImage(data: imageData!)
    } else {
        cell.mediaImage = nil
    }

    return cell

当我运行此代码时,我的图像重叠在TableViewCell上。

enter image description here

我希望图像变为缩略图大小,而不是与TableViewCell的边界重叠。什么是最好的方法来解决这个问题?我尝试过调整图像大小,但图像仍然会被剪裁。感谢。

2 个答案:

答案 0 :(得分:1)

您是否在界面构建器中的MediaItemTableViewCell类的UIImage和clipSubviews中标记了纵横比? (附图)。 enter image description here

答案 1 :(得分:0)

在我看来,不同的动态图像尺寸通过相对于它的高度和宽度添加NSAutoLayoutConstraint来工作,你可能会面临另一个问题,即图像由于其大小而无法正确居中,这可以通过如果你曾经面对的话,那就在程序上添加一个预先NSAutoLayoutConstraint