我正在使用 AutoLayout 在 UITableViewCell 子类中定位子视图。视图层次结构如下:
- 顶部容器视图
- 图像视图
- 评论容器视图
- 头像图片查看
- 喜欢按钮
- 用户名标签
- 评论按钮
- 评论标签
当图像视图中有图像时,我建立的约束按预期工作。但是,当没有图像且图像视图的高度为 0 时,评论视图无法填充其容器(即其顶部不等于其父视图的顶部)。我希望如果视图 A 的顶部固定到视图 B 的底部并且视图 B 的高度为 0,则视图 A 的 origin.y 将是视图 B 的 origin.y。但事实并非如此。谁能告诉我我的 AutoLayout 格式有什么问题?
[self.contentContainerView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[_postImageView(<=200.0)][_commentView]|"
options:0
metrics:nil
views:NSDictionaryOfVariableBindings(_postImageView, _commentView)]];
_commentView 中的子视图还有其他限制,我会根据要求发布这些限制。
这是正在发生的事情的截图:
第二个单元格中的预期效果(这是我将格式字符串修改为 : 时得到的效果@"|[_commentView]|
):显然,这打破了存在图像的情况。