Swift:ImageView Aspect填充错误

时间:2016-08-19 13:09:39

标签: ios swift uitableview uiimageview

我想在UITableView中创建一个UI,就像Facebook主页一样,在顶部,有一个图像就像一个封面图片,在这个“封面图片”的表面上有一个“用户图像”。

Facebook Home Page

我首先添加ImageView,然后设置自动布局约束。然后在上一个ImageView上拖动另一个ImageView,然后添加约束。 “封面图片”的大小为200 * 600(constrains to the cell with top: 0, left:0, right:0, height: 200),“用户个人资料图片”的大小为50 * 50(constrains to the cell with bottom:0, left:275, right: 275, hight: 50, width: 50)。并且TableView我设置为静态单元格,高度为300,宽度为600

然而,当我将ImageView模式设置为“Aspect Fill”时,“封面图像”将填充整个单元格,即使我将其高度设置为200.并且没有显示“用户个人资料图像”。

任何人都知道我做错了什么吗?感谢

更新:在我的TableView中,我有2个静态单元格,第一个用于放置封面图像和配置文件图像,第二个用于放置文本内容。对于第二个单元格,我希望它是动态的文本长度,所以我使用这段代码:

override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
    if indexPath.row == 0 {
        return 300

    }
    return tableView.contentSize.height
}

我不确定这是否与此问题有关。

我试图仅设置封面图像,我添加约束(顶部:0,左:0,右:0,底部:100),因此封面图像的大小应为600 * 200(细胞是600 * 300)。但是当我将图像视图模式设置为“纵横填充”时,它仍会填充整个单元格,即使我将约束设置为底部:100。

1 个答案:

答案 0 :(得分:0)

它与您的约束有关。检查高度约束的优先级。它应该设置为1000。

如果你无法弄明白,另一种选择是将另一个视图放在尺寸为100的封面照片下作为间隔物,然后将其他图像限制在此间隔视图中。然后,您可以将其余元素放在此视图中。

相关问题