Autolayout - 带ImageView的UITableViewCell - 保证金?

时间:2015-04-16 08:45:26

标签: swift autolayout

当我尝试在单元格中使用UIImageView创建左/上/下边距时,我遇到了问题。它不关心我将尝试设置为顶部/底部/左侧空间,我将始终得到相同的结果 - >所有图像都没有任何余地。

我有一个固定的高度和宽度,我只想添加上/左边距。

enter image description here

有没有办法强制Autolayout在这里添加保证金?

提前感谢任何提示。 修改 谢谢你的回答。我试过了,但它还没有用。单元格和图像之间始终没有边距:

这是我的约束。 (生病只需要8px作为superView的空间)

enter image description here

2 个答案:

答案 0 :(得分:3)

实际上,我无法就此问题开展工作。但我相信如果你在代码中尝试这些东西它会起作用。

Using-auto-layout-in-uitableview-for-dynamic-cell-layouts-variable-row-heights

编辑:

将新的UIImageView大小和位置设置为下面屏幕截图中显示的值。

enter image description here

现在选择UIImageView并添加以下约束。

前导顶部底部设置为20。
宽度高度设置为100。
确保未选中约束边距
点击添加5个约束按钮。

enter image description here

选择image view以显示其约束,然后选择其底部约束进行编辑。在属性编辑器中,将其关系更改为大于或等于,将其优先级更改为999.

enter image description here

接下来,选择图片视图以显示其约束,然后选择其高度约束。在属性编辑器中,将其优先级更改为999。
同样,选择图像视图的宽度约束,并将其优先级更改为999.

要设置以下约束,您会得到答案。

答案 1 :(得分:1)

cellForRowAtIndexPath

中添加此代码


 UIView* separatorLineView = [[UIView alloc] initWithFrame:CGRectZero];/// change size as you need.
    CGRect frame = separatorLineView.frame;
    frame.size.height = 5.0;
    frame.size.width = tableView.frame.size.width;
    separatorLineView.frame = frame;
    separatorLineView.backgroundColor = [UIColor redColor];

    [cell.contentView addSubview:separatorLineView];
    return cell;


请点击这些链接AutolayoutAutolayout programatically

现在使用这些约束

<强>故事板 1st image

<强>模拟器
2nd image

这可能对您有所帮助:)。